)]}'
{"specs/juno/service-status-interface.rst":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c5c1da214fe5e336545ccf115608ec88087eefbc","unresolved":false,"context_lines":[{"line_number":31,"context_line":"type of system feedback."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This functionality is aimed to talk to init.d system scripts via a status"},{"line_number":34,"context_line":"file, and systemd notifications via NOTIFY_SOCKET interface."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Setting a flag:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_b1703f73","line":34,"updated":"2014-06-04 12:15:16.000000000","message":"Will the same API be used for updating both systems?","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"d508adfe76bf497734dd657401f3060127df1b20","unresolved":false,"context_lines":[{"line_number":31,"context_line":"type of system feedback."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This functionality is aimed to talk to init.d system scripts via a status"},{"line_number":34,"context_line":"file, and systemd notifications via NOTIFY_SOCKET interface."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Setting a flag:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_ece2ee9e","line":34,"in_reply_to":"1ae5cdf2_b1703f73","updated":"2014-06-04 13:21:33.000000000","message":"Yes, the idea is to expose the api in Service class, which will pass\nthat to ServiceStatus class, this class will take care of update\nboth systems where available.\n\nIf file status is configured, it will get that one updated, if systemd notifications\nare available, it will do the systemd update.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"b5daa5c99ede0ae8e51d9b878f2881694105c089","unresolved":false,"context_lines":[{"line_number":31,"context_line":"type of system feedback."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This functionality is aimed to talk to init.d system scripts via a status"},{"line_number":34,"context_line":"file, and systemd notifications via NOTIFY_SOCKET interface."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Setting a flag:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_db14e6ea","line":34,"in_reply_to":"1ae5cdf2_ece2ee9e","updated":"2014-06-30 14:30:33.000000000","message":"Done","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"dd74d2fbfcbd896190696f7d4d8ec18db87c1016","unresolved":false,"context_lines":[{"line_number":31,"context_line":"type of system feedback."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This functionality is aimed to talk to init.d system scripts via a status"},{"line_number":34,"context_line":"file, and systemd notifications via NOTIFY_SOCKET interface."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Setting a flag:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_61178e45","line":34,"in_reply_to":"1ae5cdf2_ece2ee9e","updated":"2014-06-05 19:50:59.000000000","message":"OK, that\u0027s what I thought but it wasn\u0027t entirely clear.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c5c1da214fe5e336545ccf115608ec88087eefbc","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. seqdiag::"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  seqdiag {"},{"line_number":42,"context_line":"    ServiceChildClass -\u003e Service"},{"line_number":43,"context_line":"     [label \u003d \"set_status(priority, errno, message_str)\"];"},{"line_number":44,"context_line":"    Service -\u003e ServiceStatus [label \u003d \"set(status)\"];"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_d18dcb7d","line":41,"updated":"2014-06-04 12:15:16.000000000","message":"It is difficult to tell solely based on these diagrams whether they represent new functions/methods being proposed or changes to existing calling patterns. Could you provide the proposed function signatures for the public APIs with descriptions of the inputs and outputs separately from the diagrams? One way to do that would be to inline a python function header using this syntax:\n\n::\n\n  def function_name(arg, arg2, ...):\n     \"\"\"Description\n\n     :param arg: description of arg\n     :type arg: type of arg (int, str, ClassName, etc.)\n     :param arg2: description of arg2\n     :type arg2: type of arg2\n     \"\"\"\n\nBesides providing a clear idea of the proposed API, this will also give you a head-start on the docstrings needed for the implementation. :-)","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"d508adfe76bf497734dd657401f3060127df1b20","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. seqdiag::"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  seqdiag {"},{"line_number":42,"context_line":"    ServiceChildClass -\u003e Service"},{"line_number":43,"context_line":"     [label \u003d \"set_status(priority, errno, message_str)\"];"},{"line_number":44,"context_line":"    Service -\u003e ServiceStatus [label \u003d \"set(status)\"];"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_4c6a02ef","line":41,"in_reply_to":"1ae5cdf2_d18dcb7d","updated":"2014-06-04 13:21:33.000000000","message":"Sure, I\u0027ll add public APIs and descriptions.\n\nThanks for the advice.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c5c1da214fe5e336545ccf115608ec88087eefbc","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Alternatives"},{"line_number":103,"context_line":"------------"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Impact on Existing APIs"},{"line_number":107,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_b16bdf1c","line":104,"updated":"2014-06-04 12:15:16.000000000","message":"Are there other service managers that we might want to interface with in the future? Should the public API rely on plugins for the implementation, instead of having 2 mechanisms hard-coded?","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"d508adfe76bf497734dd657401f3060127df1b20","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Alternatives"},{"line_number":103,"context_line":"------------"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Impact on Existing APIs"},{"line_number":107,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_273951a4","line":104,"in_reply_to":"1ae5cdf2_b16bdf1c","updated":"2014-06-04 13:21:33.000000000","message":"The idea was to provide those mechanisms as separate classes for now (ServiceStatusFile, and ServiceSystemdStatus) which would update any of those systems.\n\nBut it\u0027s worth discussing it as an alternative.\n\nI suppose the drawbacks of this are, for example, backporting, as we may need to add extra configuration settings in config files.\n\nI\u0027ll elaborate those details in the Alternatives section.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c5c1da214fe5e336545ccf115608ec88087eefbc","unresolved":false,"context_lines":[{"line_number":112,"context_line":"* systemd.notify_once may be renamed to systemd.notify_ready_once"},{"line_number":113,"context_line":"  and the method of deleting the NOTIFY_SOCKET environment variable"},{"line_number":114,"context_line":"  must be redesigned, to allow subsequent status updates via"},{"line_number":115,"context_line":"  the NOTIFY_SOCKET mechanism."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Security impact"},{"line_number":118,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_4e811ac2","line":115,"updated":"2014-06-04 12:15:16.000000000","message":"Does the function need to be renamed? Could a new function be added and the old one left in place for backwards compatibility? Is notify_ready() called outside of incubator code in any of the integrated projects?\n\nCould you provide details about the changes to the NOTIFY_SOCKET handling?","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"d508adfe76bf497734dd657401f3060127df1b20","unresolved":false,"context_lines":[{"line_number":112,"context_line":"* systemd.notify_once may be renamed to systemd.notify_ready_once"},{"line_number":113,"context_line":"  and the method of deleting the NOTIFY_SOCKET environment variable"},{"line_number":114,"context_line":"  must be redesigned, to allow subsequent status updates via"},{"line_number":115,"context_line":"  the NOTIFY_SOCKET mechanism."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Security impact"},{"line_number":118,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_67a9998f","line":115,"in_reply_to":"1ae5cdf2_4e811ac2","updated":"2014-06-04 13:21:33.000000000","message":"I checked if it\u0027s used somewhere else by \n\ncd /opt/stack ; grep notify_once * -R\n\nand I found keystone uses it in his main loop, so you\u0027re right, we can\u0027t rename. We should add a new function.\n\nI will provide the details about NOTIFY_SOCKET handling.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"426c04cd7692d0baae350fa8a016111663a2c8d3","unresolved":false,"context_lines":[{"line_number":112,"context_line":"* systemd.notify_once may be renamed to systemd.notify_ready_once"},{"line_number":113,"context_line":"  and the method of deleting the NOTIFY_SOCKET environment variable"},{"line_number":114,"context_line":"  must be redesigned, to allow subsequent status updates via"},{"line_number":115,"context_line":"  the NOTIFY_SOCKET mechanism."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Security impact"},{"line_number":118,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_544d9dc3","line":115,"in_reply_to":"1ae5cdf2_67a9998f","updated":"2014-07-09 11:37:09.000000000","message":"I finally decided that that a plugin architecture may make more sense, given that we have systemd, upstart, or old init.d scripts AFAIK.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c5c1da214fe5e336545ccf115608ec88087eefbc","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Performance Impact"},{"line_number":123,"context_line":"------------------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Configuration Impact"},{"line_number":128,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_b1cf5f55","line":125,"updated":"2014-06-04 12:15:16.000000000","message":"How often would you expect these update calls to be made? Will the service block while writing to the socket or status file, or will eventlet get involved because of the I/O? If multiple update calls are made with eventlet active, can we be certain that the output won\u0027t become corrupt by multiple greenlets writing to the socket?","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"d508adfe76bf497734dd657401f3060127df1b20","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Performance Impact"},{"line_number":123,"context_line":"------------------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Configuration Impact"},{"line_number":128,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_c73d0d2d","line":125,"in_reply_to":"1ae5cdf2_b1cf5f55","updated":"2014-06-04 13:21:33.000000000","message":"The calls should happen rarely, so performance shouldn\u0027t be a problem.\n\nbut I planned to make the systemd updates synchronized to avoid race conditions,\nalso the file status mechanism may use a file-replace mechanism to avoid race conditions there too.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"dd74d2fbfcbd896190696f7d4d8ec18db87c1016","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Performance Impact"},{"line_number":123,"context_line":"------------------"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Configuration Impact"},{"line_number":128,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_e159de35","line":125,"in_reply_to":"1ae5cdf2_c73d0d2d","updated":"2014-06-05 19:50:59.000000000","message":"OK, good. You should mention those points somewhere in the spec so they are easily accessible when we go to look at it later.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c5c1da214fe5e336545ccf115608ec88087eefbc","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Configuration Impact"},{"line_number":128,"context_line":"--------------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"None"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Developer Impact"},{"line_number":133,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_3196ef3f","line":130,"updated":"2014-06-04 12:15:16.000000000","message":"How is the path to the status file managed?","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"274a39bc904bb6150fd1a25492f79112fc5d2893","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Configuration Impact"},{"line_number":128,"context_line":"--------------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"None"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Developer Impact"},{"line_number":133,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_2d73a5b5","line":130,"in_reply_to":"1ae5cdf2_01b24a4b","updated":"2014-07-09 08:45:20.000000000","message":"Can you clarify this?,\n\nDo you mean, accepting via API the location for an state file?, I\u0027m not sure how to handle this given that this would be specific to just one plugin.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"d508adfe76bf497734dd657401f3060127df1b20","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Configuration Impact"},{"line_number":128,"context_line":"--------------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"None"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Developer Impact"},{"line_number":133,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_423e4b8d","line":130,"in_reply_to":"1ae5cdf2_3196ef3f","updated":"2014-06-04 13:21:33.000000000","message":"I\u0027m not sure if this is standardized among projects,\n\nat least in neutron, cinder and nova, we use state_path, I was planning to let the Service class child call set_status_file itself, but if this configuration setting is standard, we could just do \n\n$state_path/$PID.status \n\nor getting this override by an optional status_file\u003d config entry, or ... we could just simply go the status_file config entry way.\n\n\nThis would avoid adding complexity to the Service class users (making them set the status file explicitly)","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"dd74d2fbfcbd896190696f7d4d8ec18db87c1016","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Configuration Impact"},{"line_number":128,"context_line":"--------------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"None"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Developer Impact"},{"line_number":133,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_01b24a4b","line":130,"in_reply_to":"1ae5cdf2_423e4b8d","updated":"2014-06-05 19:50:59.000000000","message":"In general we try to have an API that does not rely on oslo.config, but also provide standard definitions of configuration options that should be reused. In this case, I think it\u0027s appropriate to have the location defined in the oslo module, but we need to take deprecation into account. The older application configuration option won\u0027t be accessible to the library directly.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"fc0e9c18325b8386556d84ec949945c0c196ab36","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Configuration Impact"},{"line_number":128,"context_line":"--------------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"None"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Developer Impact"},{"line_number":133,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_c94fac69","line":130,"in_reply_to":"baada198_2d73a5b5","updated":"2014-07-14 19:45:44.000000000","message":"You can have a configuration option in the library, but the library cannot access a configuration option defined in the application unless the value is passed to the library when the application calls it. The library should not rely on an application\u0027s option being defined in cfg.CONF because that represents a \"hidden API\" for the library.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c5c1da214fe5e336545ccf115608ec88087eefbc","unresolved":false,"context_lines":[{"line_number":168,"context_line":"Dependencies"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"None"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"References"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_91f98382","line":171,"updated":"2014-06-04 12:15:16.000000000","message":"Is systemd the only service runner that uses the NOTIFY_SOCKET interface? Does that make systemd a dependency for this feature to be useful?","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"d508adfe76bf497734dd657401f3060127df1b20","unresolved":false,"context_lines":[{"line_number":168,"context_line":"Dependencies"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"None"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"References"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_e2e4b73d","line":171,"in_reply_to":"1ae5cdf2_91f98382","updated":"2014-06-04 13:21:33.000000000","message":"It would be optional.\n\nIf systemd is available, it gets updated,\n\notherwise the status goes to the status file, and a tipical init.d script would just pick up the status file and use it to respond to /etc/init.d/\u003cthe_service\u003e status call","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"426c04cd7692d0baae350fa8a016111663a2c8d3","unresolved":false,"context_lines":[{"line_number":168,"context_line":"Dependencies"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"None"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"References"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_f416b154","line":171,"in_reply_to":"1ae5cdf2_e17e3e69","updated":"2014-07-09 11:37:09.000000000","message":"When that mode is available, the NOTIFY_SOCKET environment variable is defined, otherwise it\u0027s not.\n\nAnyway, turning it into a plugin architecture, it will be used depending on the chosen plugin.","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"dd74d2fbfcbd896190696f7d4d8ec18db87c1016","unresolved":false,"context_lines":[{"line_number":168,"context_line":"Dependencies"},{"line_number":169,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"None"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"References"},{"line_number":174,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_e17e3e69","line":171,"in_reply_to":"1ae5cdf2_e2e4b73d","updated":"2014-06-05 19:50:59.000000000","message":"Is that logic automatic, based on the environment variable? Or does the deployer have to specify the notification mode they want to use?","commit_id":"69079962a6835b8bc458980a53a65d0dbdae361b"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"https://blueprints.launchpad.net/oslo/+spec/service-status-interface"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"This specfification details the plans to build an interface to communicate"},{"line_number":8,"context_line":"back, and optionally provide status, readyness or watchdog signals to the"},{"line_number":9,"context_line":"service manager which started the service."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_7559988d","line":7,"updated":"2014-07-17 09:30:37.000000000","message":"s/specfification/specification","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"https://blueprints.launchpad.net/oslo/+spec/service-status-interface"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"This specfification details the plans to build an interface to communicate"},{"line_number":8,"context_line":"back, and optionally provide status, readyness or watchdog signals to the"},{"line_number":9,"context_line":"service manager which started the service."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_2b0db840","line":7,"in_reply_to":"baada198_7559988d","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"484265963d357d0f35f28560421af4fe990055aa","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"https://blueprints.launchpad.net/oslo/+spec/service-status-interface"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"This specfification details the plans to build an interface to communicate"},{"line_number":8,"context_line":"back, and optionally provide status, readyness or watchdog signals to the"},{"line_number":9,"context_line":"service manager which started the service."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_012a9be6","line":7,"in_reply_to":"baada198_7559988d","updated":"2014-08-01 11:23:53.000000000","message":"Ihar, thanks for all your corrections (from here to EOF), thanks a lot.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":5,"context_line":"https://blueprints.launchpad.net/oslo/+spec/service-status-interface"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"This specfification details the plans to build an interface to communicate"},{"line_number":8,"context_line":"back, and optionally provide status, readyness or watchdog signals to the"},{"line_number":9,"context_line":"service manager which started the service."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_f575a8fa","line":8,"updated":"2014-07-17 09:30:37.000000000","message":"s/readyness/readiness","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"4d532b00371240edd57c5e0a99bf8eb3f6e12111","unresolved":false,"context_lines":[{"line_number":5,"context_line":"https://blueprints.launchpad.net/oslo/+spec/service-status-interface"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"This specfification details the plans to build an interface to communicate"},{"line_number":8,"context_line":"back, and optionally provide status, readyness or watchdog signals to the"},{"line_number":9,"context_line":"service manager which started the service."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_0d87255c","line":8,"in_reply_to":"baada198_f575a8fa","updated":"2014-08-01 15:52:59.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"When running a service from pacemaker, or any equivalent high availability"},{"line_number":15,"context_line":"service manager, it\u0027s imposible to discover the internal status of our"},{"line_number":16,"context_line":"services."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Situations that could be notified back to the service manager:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_95d38cd4","line":15,"updated":"2014-07-17 09:30:37.000000000","message":"s/imposible/impossible","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"When running a service from pacemaker, or any equivalent high availability"},{"line_number":15,"context_line":"service manager, it\u0027s imposible to discover the internal status of our"},{"line_number":16,"context_line":"services."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Situations that could be notified back to the service manager:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_4b12ec61","line":15,"in_reply_to":"baada198_95d38cd4","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":15,"context_line":"service manager, it\u0027s imposible to discover the internal status of our"},{"line_number":16,"context_line":"services."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Situations that could be notified back to the service manager:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"* Message broker connectivity lost."},{"line_number":21,"context_line":"* Child processes dying abnormally."}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_95eaac72","line":18,"updated":"2014-07-17 09:30:37.000000000","message":"s/Situations/Events?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"service manager, it\u0027s imposible to discover the internal status of our"},{"line_number":16,"context_line":"services."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Situations that could be notified back to the service manager:"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"* Message broker connectivity lost."},{"line_number":21,"context_line":"* Child processes dying abnormally."}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_0651c90d","line":18,"in_reply_to":"baada198_95eaac72","updated":"2014-08-01 15:51:14.000000000","message":"Done\n\nEvents are things that happen only once, in this case may be \"Condition\" could be better?, It\u0027s something that happens (degraded operation of any kind..), and we notify the condition until we stop the signal...","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":22,"context_line":"* Starving for system resources."},{"line_number":23,"context_line":"* General degraded operation."},{"line_number":24,"context_line":"* Watchdog heartbeats."},{"line_number":25,"context_line":"* Service readyness."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Generally the service manager, based on this feedback would: wait for the"},{"line_number":28,"context_line":"situation to recover, notify the system administrator, or just restart"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_559734eb","line":25,"updated":"2014-07-17 09:30:37.000000000","message":"s/readyness/readiness","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"* Starving for system resources."},{"line_number":23,"context_line":"* General degraded operation."},{"line_number":24,"context_line":"* Watchdog heartbeats."},{"line_number":25,"context_line":"* Service readyness."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Generally the service manager, based on this feedback would: wait for the"},{"line_number":28,"context_line":"situation to recover, notify the system administrator, or just restart"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_26696dc0","line":25,"in_reply_to":"baada198_559734eb","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"I propose creating an interface to provide service status notifications"},{"line_number":36,"context_line":"to lsb scripts (via status files), systemd (NOTIFY_SOCKET), and any"},{"line_number":37,"context_line":"other systems like upstart, etc."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The drivers for this type of notifications would have the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_55be5465","line":36,"updated":"2014-07-17 09:30:37.000000000","message":"s/lsb/LSB","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"4d532b00371240edd57c5e0a99bf8eb3f6e12111","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"I propose creating an interface to provide service status notifications"},{"line_number":36,"context_line":"to lsb scripts (via status files), systemd (NOTIFY_SOCKET), and any"},{"line_number":37,"context_line":"other systems like upstart, etc."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"The drivers for this type of notifications would have the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_6d76e193","line":36,"in_reply_to":"baada198_55be5465","updated":"2014-08-01 15:52:59.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"02232782ed49ea4de9dd7cff9b8e164f7aed6431","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"::"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  class ServiceStatusNotificator(object):"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"     def set_status(self, priority, errno, message):"},{"line_number":47,"context_line":"        \"\"\"Sets an status flag for the service and notifies the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_4be82cb3","line":44,"updated":"2014-07-25 07:18:55.000000000","message":"+1","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"::"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  class ServiceStatusNotificator(object):"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"     def set_status(self, priority, errno, message):"},{"line_number":47,"context_line":"        \"\"\"Sets an status flag for the service and notifies the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_f5a84822","line":44,"updated":"2014-07-17 09:30:37.000000000","message":"Notifier?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"::"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  class ServiceStatusNotificator(object):"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"     def set_status(self, priority, errno, message):"},{"line_number":47,"context_line":"        \"\"\"Sets an status flag for the service and notifies the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_469f4102","line":44,"in_reply_to":"baada198_4be82cb3","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  class ServiceStatusNotificator(object):"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"     def set_status(self, priority, errno, message):"},{"line_number":47,"context_line":"        \"\"\"Sets an status flag for the service and notifies the"},{"line_number":48,"context_line":"           service manager which started this service with the"},{"line_number":49,"context_line":"           highes priority error which is set."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_b575f0cd","line":47,"updated":"2014-07-17 09:30:37.000000000","message":"s/ an / the / ?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"02232782ed49ea4de9dd7cff9b8e164f7aed6431","unresolved":false,"context_lines":[{"line_number":46,"context_line":"     def set_status(self, priority, errno, message):"},{"line_number":47,"context_line":"        \"\"\"Sets an status flag for the service and notifies the"},{"line_number":48,"context_line":"           service manager which started this service with the"},{"line_number":49,"context_line":"           highes priority error which is set."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        :param priority: Priority of the status flag we\u0027re setting"},{"line_number":52,"context_line":"        :type priority: int"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_6bd090f7","line":49,"updated":"2014-07-25 07:18:55.000000000","message":"If we\u0027re going to embed docstrings in here can we at least make them suitable for API doc inclusion - e.g.\n\n \"\"\"Signal the service manager with the highest priority error.\n\nWe set a status flag for the service containing message, and signal the service manager the current highest errno (which may be that of an earlier error).\n...","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":46,"context_line":"     def set_status(self, priority, errno, message):"},{"line_number":47,"context_line":"        \"\"\"Sets an status flag for the service and notifies the"},{"line_number":48,"context_line":"           service manager which started this service with the"},{"line_number":49,"context_line":"           highes priority error which is set."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        :param priority: Priority of the status flag we\u0027re setting"},{"line_number":52,"context_line":"        :type priority: int"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_d570a4dc","line":49,"updated":"2014-07-17 09:30:37.000000000","message":"highest?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":46,"context_line":"     def set_status(self, priority, errno, message):"},{"line_number":47,"context_line":"        \"\"\"Sets an status flag for the service and notifies the"},{"line_number":48,"context_line":"           service manager which started this service with the"},{"line_number":49,"context_line":"           highes priority error which is set."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        :param priority: Priority of the status flag we\u0027re setting"},{"line_number":52,"context_line":"        :type priority: int"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_272fa8a8","line":49,"in_reply_to":"baada198_6bd090f7","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"6990a488c84ae154dec849abe17d944b13ee0297","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        :param priority: Priority of the status flag we\u0027re setting"},{"line_number":52,"context_line":"        :type priority: int"},{"line_number":53,"context_line":"        :param errno: error number we\u0027re passing up to the service manager"},{"line_number":54,"context_line":"        :type errno: int"},{"line_number":55,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":56,"context_line":"                        manager"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_37ffa035","line":53,"updated":"2014-07-14 19:46:01.000000000","message":"Who owns the definition of the error numbers? Are they defined by the service, the service manager, an enum to be defined in the code for this new feature, or some external standard?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0498179e152339cf6f63d09e4b63e097736cc729","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        :param priority: Priority of the status flag we\u0027re setting"},{"line_number":52,"context_line":"        :type priority: int"},{"line_number":53,"context_line":"        :param errno: error number we\u0027re passing up to the service manager"},{"line_number":54,"context_line":"        :type errno: int"},{"line_number":55,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":56,"context_line":"                        manager"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_27c67d68","line":53,"in_reply_to":"baada198_37ffa035","updated":"2014-07-15 09:08:24.000000000","message":"If we were talking of LSB, there is a range for app specific error codes (150-199), but if we use a file that could be translated by the init.d script itself.\n\nFor systemd, ERRNO has no defined list of error, as far as I know.\n\nCould it make sense to provide an enumeration of common errors, and then leave a range for project specific errors?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"02232782ed49ea4de9dd7cff9b8e164f7aed6431","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        :type errno: int"},{"line_number":55,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":56,"context_line":"                        manager"},{"line_number":57,"context_line":"        :type message: string"},{"line_number":58,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":59,"context_line":"        :rtype: string"},{"line_number":60,"context_line":"        \"\"\""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_8bcde45f","line":57,"updated":"2014-07-25 07:18:55.000000000","message":"String of text ? e.g. can be any unicode string?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"484265963d357d0f35f28560421af4fe990055aa","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        :type errno: int"},{"line_number":55,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":56,"context_line":"                        manager"},{"line_number":57,"context_line":"        :type message: string"},{"line_number":58,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":59,"context_line":"        :rtype: string"},{"line_number":60,"context_line":"        \"\"\""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_0f69e7bf","line":57,"in_reply_to":"baada198_8bcde45f","updated":"2014-08-01 11:23:53.000000000","message":"we may accept any unicode string and translate that later to the underlying protocol/manager.\n\nShould I keep it as \"string\" or should I use something else for the type?\n\nThanks,","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"6990a488c84ae154dec849abe17d944b13ee0297","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":56,"context_line":"                        manager"},{"line_number":57,"context_line":"        :type message: string"},{"line_number":58,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":59,"context_line":"        :rtype: string"},{"line_number":60,"context_line":"        \"\"\""},{"line_number":61,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_699300a3","line":58,"updated":"2014-07-14 19:46:01.000000000","message":"What is the handle? It looks like the application needs to keep track of it to call clear_status(). Could the value be kept internally in this class instead of requiring the app to track it?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":56,"context_line":"                        manager"},{"line_number":57,"context_line":"        :type message: string"},{"line_number":58,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":59,"context_line":"        :rtype: string"},{"line_number":60,"context_line":"        \"\"\""},{"line_number":61,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_873a34e4","line":58,"in_reply_to":"baada198_62eb0313","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0498179e152339cf6f63d09e4b63e097736cc729","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":56,"context_line":"                        manager"},{"line_number":57,"context_line":"        :type message: string"},{"line_number":58,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":59,"context_line":"        :rtype: string"},{"line_number":60,"context_line":"        \"\"\""},{"line_number":61,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_62eb0313","line":58,"in_reply_to":"baada198_699300a3","updated":"2014-07-15 09:08:24.000000000","message":"Hmm, That was my initial idea idea, but we could just use priority+errno or just errno, which would greatly simplify things.\n\n+1","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"02232782ed49ea4de9dd7cff9b8e164f7aed6431","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":59,"context_line":"        :rtype: string"},{"line_number":60,"context_line":"        \"\"\""},{"line_number":61,"context_line":"        pass"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"     def clear_status(self, status_handle):"},{"line_number":64,"context_line":"        \"\"\"Clears an status flag we set previously, and notifies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_abd628f0","line":61,"updated":"2014-07-25 07:18:55.000000000","message":"What are the implications of setting a flag? Are all flats fatal? Or just some? Should we exit after setting the flag, or is that up to the manager? How do we tell the manager what numbers to expect?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":59,"context_line":"        :rtype: string"},{"line_number":60,"context_line":"        \"\"\""},{"line_number":61,"context_line":"        pass"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"     def clear_status(self, status_handle):"},{"line_number":64,"context_line":"        \"\"\"Clears an status flag we set previously, and notifies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_a709f833","line":61,"in_reply_to":"baada198_6f918399","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"484265963d357d0f35f28560421af4fe990055aa","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":59,"context_line":"        :rtype: string"},{"line_number":60,"context_line":"        \"\"\""},{"line_number":61,"context_line":"        pass"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"     def clear_status(self, status_handle):"},{"line_number":64,"context_line":"        \"\"\"Clears an status flag we set previously, and notifies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_6f918399","line":61,"in_reply_to":"baada198_abd628f0","updated":"2014-08-01 11:23:53.000000000","message":"Not are flags are fatal, A flag can be read by the process manager, and it\u0027s up to the process manager to decide what to do about it.\n\nIt\u0027s to the deployer decission to consider which flags are fatal or not.\n\nIMO, a fatal flag may also make the agent quit if fatal means \"we can\u0027t recover from this without external intervention\"\n\nMay be we should consider this during common error codes enumeration, setting common fatal ones in a range, common warning ones in another range, and then leaving app-specific sub-ranges into both.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        pass"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"     def clear_status(self, status_handle):"},{"line_number":64,"context_line":"        \"\"\"Clears an status flag we set previously, and notifies"},{"line_number":65,"context_line":"           the service manager on the change, setting it to 0/OK when"},{"line_number":66,"context_line":"           no flag is set."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_f52da8a9","line":64,"updated":"2014-07-17 09:30:37.000000000","message":"s/ an / the / ?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        pass"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"     def clear_status(self, status_handle):"},{"line_number":64,"context_line":"        \"\"\"Clears an status flag we set previously, and notifies"},{"line_number":65,"context_line":"           the service manager on the change, setting it to 0/OK when"},{"line_number":66,"context_line":"           no flag is set."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_caa993de","line":64,"in_reply_to":"baada198_f52da8a9","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"     def clear_status(self, status_handle):"},{"line_number":64,"context_line":"        \"\"\"Clears an status flag we set previously, and notifies"},{"line_number":65,"context_line":"           the service manager on the change, setting it to 0/OK when"},{"line_number":66,"context_line":"           no flag is set."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        :param status_handle"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_b50a5025","line":65,"updated":"2014-07-17 09:30:37.000000000","message":"s / on / about / ?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"     def clear_status(self, status_handle):"},{"line_number":64,"context_line":"        \"\"\"Clears an status flag we set previously, and notifies"},{"line_number":65,"context_line":"           the service manager on the change, setting it to 0/OK when"},{"line_number":66,"context_line":"           no flag is set."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        :param status_handle"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_4ad3c35e","line":65,"in_reply_to":"baada198_b50a5025","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"02232782ed49ea4de9dd7cff9b8e164f7aed6431","unresolved":false,"context_lines":[{"line_number":63,"context_line":"     def clear_status(self, status_handle):"},{"line_number":64,"context_line":"        \"\"\"Clears an status flag we set previously, and notifies"},{"line_number":65,"context_line":"           the service manager on the change, setting it to 0/OK when"},{"line_number":66,"context_line":"           no flag is set."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        :param status_handle"},{"line_number":69,"context_line":"        :type status_handle: string"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_cbd35cff","line":66,"updated":"2014-07-25 07:18:55.000000000","message":"Again here:\n\n\"\"\"Tell the service manager we are ok and clear any status flag.\n\n\u003c.. details here\u003e\n\"\"\"","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"484265963d357d0f35f28560421af4fe990055aa","unresolved":false,"context_lines":[{"line_number":63,"context_line":"     def clear_status(self, status_handle):"},{"line_number":64,"context_line":"        \"\"\"Clears an status flag we set previously, and notifies"},{"line_number":65,"context_line":"           the service manager on the change, setting it to 0/OK when"},{"line_number":66,"context_line":"           no flag is set."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        :param status_handle"},{"line_number":69,"context_line":"        :type status_handle: string"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_ef6113a9","line":66,"in_reply_to":"baada198_cbd35cff","updated":"2014-08-01 11:23:53.000000000","message":"We could add another method to clear all flags, even though I don\u0027t see any use case It could actually exist.\n\nIdeally, the flags are cleared one by one, by the specific app module/part which set it initially after the degraded operation condition is restored.\n\nRobert, what do you mean by \"\u003cdetails here\u003e\" ? :)","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"     def clear_status(self, status_handle):"},{"line_number":64,"context_line":"        \"\"\"Clears an status flag we set previously, and notifies"},{"line_number":65,"context_line":"           the service manager on the change, setting it to 0/OK when"},{"line_number":66,"context_line":"           no flag is set."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        :param status_handle"},{"line_number":69,"context_line":"        :type status_handle: string"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_2ace8fb7","line":66,"in_reply_to":"baada198_ef6113a9","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        pass"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"     def notify_ready():"},{"line_number":74,"context_line":"        \"\"\"Notifies the service is ready, writting to a status file,"},{"line_number":75,"context_line":"           using NOTIFY_SOCKET, etc.."},{"line_number":76,"context_line":"        \"\"\""},{"line_number":77,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_58768ba4","line":74,"updated":"2014-07-17 09:30:37.000000000","message":"s/writting/writing","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"4d532b00371240edd57c5e0a99bf8eb3f6e12111","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        pass"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"     def notify_ready():"},{"line_number":74,"context_line":"        \"\"\"Notifies the service is ready, writting to a status file,"},{"line_number":75,"context_line":"           using NOTIFY_SOCKET, etc.."},{"line_number":76,"context_line":"        \"\"\""},{"line_number":77,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_cdd7ed4d","line":74,"in_reply_to":"baada198_58768ba4","updated":"2014-08-01 15:52:59.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"02232782ed49ea4de9dd7cff9b8e164f7aed6431","unresolved":false,"context_lines":[{"line_number":73,"context_line":"     def notify_ready():"},{"line_number":74,"context_line":"        \"\"\"Notifies the service is ready, writting to a status file,"},{"line_number":75,"context_line":"           using NOTIFY_SOCKET, etc.."},{"line_number":76,"context_line":"        \"\"\""},{"line_number":77,"context_line":"        pass"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"     def feed_watchdog():"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_eb03c073","line":76,"updated":"2014-07-25 07:18:55.000000000","message":"And of course, here.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"02232782ed49ea4de9dd7cff9b8e164f7aed6431","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"     def feed_watchdog():"},{"line_number":80,"context_line":"       \"\"\"Sends a watchdog alive notification signal to the service manager\"\"\""},{"line_number":81,"context_line":"       pass"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Setting a flag:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_0b09d494","line":81,"updated":"2014-07-25 07:18:55.000000000","message":"Why are notify ready and feed_watchdog different?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"484265963d357d0f35f28560421af4fe990055aa","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"     def feed_watchdog():"},{"line_number":80,"context_line":"       \"\"\"Sends a watchdog alive notification signal to the service manager\"\"\""},{"line_number":81,"context_line":"       pass"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Setting a flag:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_6109972a","line":81,"in_reply_to":"baada198_0b09d494","updated":"2014-08-01 11:23:53.000000000","message":"Those are different for systemd at least, \n\nit has a \"READY\u003d1\" message (service initialized completely), and then a \"WATCHDOG\u003d1\" to \"feed the watchdog\".\n\nThere could be process managers that implement this differently in the future, but if we have two different api calls, we can accommodate both in the plugin.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"02232782ed49ea4de9dd7cff9b8e164f7aed6431","unresolved":false,"context_lines":[{"line_number":86,"context_line":".. seqdiag::"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"  seqdiag {"},{"line_number":89,"context_line":"    ServiceChildClass -\u003e ServiceStatusNotificator"},{"line_number":90,"context_line":"     [label \u003d \"set_status(priority, errno, message_str)\"];"},{"line_number":91,"context_line":"    ServiceChildClass \u003c-- ServiceStatusNotificator [label \u003d \"status_handle\"];"},{"line_number":92,"context_line":"  }"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_2bfa1877","line":89,"updated":"2014-07-25 07:18:55.000000000","message":"Whats ServiceChildClass here? Will we have different Notifiers for different managers? Can we autodetect them?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"484265963d357d0f35f28560421af4fe990055aa","unresolved":false,"context_lines":[{"line_number":86,"context_line":".. seqdiag::"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"  seqdiag {"},{"line_number":89,"context_line":"    ServiceChildClass -\u003e ServiceStatusNotificator"},{"line_number":90,"context_line":"     [label \u003d \"set_status(priority, errno, message_str)\"];"},{"line_number":91,"context_line":"    ServiceChildClass \u003c-- ServiceStatusNotificator [label \u003d \"status_handle\"];"},{"line_number":92,"context_line":"  }"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_41ee5322","line":89,"in_reply_to":"baada198_2bfa1877","updated":"2014-08-01 11:23:53.000000000","message":"Sorry, not very descriptive, I was meaning a class that inherits from \"Service\". We could provide an instance of the driver with the \"Service\" class, therefore the ones which inherit from Service will have access to the API via the plugin instance.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":86,"context_line":".. seqdiag::"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"  seqdiag {"},{"line_number":89,"context_line":"    ServiceChildClass -\u003e ServiceStatusNotificator"},{"line_number":90,"context_line":"     [label \u003d \"set_status(priority, errno, message_str)\"];"},{"line_number":91,"context_line":"    ServiceChildClass \u003c-- ServiceStatusNotificator [label \u003d \"status_handle\"];"},{"line_number":92,"context_line":"  }"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_caf2739a","line":89,"in_reply_to":"baada198_41ee5322","updated":"2014-08-01 15:51:14.000000000","message":"Done. \n\n Changed it into \"Caller\"","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":112,"context_line":"  }"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Notify readiness of the service:"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. seqdiag::"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_b894078d","line":115,"updated":"2014-07-17 09:30:37.000000000","message":"Notify *about* ?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"4d532b00371240edd57c5e0a99bf8eb3f6e12111","unresolved":false,"context_lines":[{"line_number":112,"context_line":"  }"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Notify readiness of the service:"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":".. seqdiag::"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_4dd3dd5e","line":115,"in_reply_to":"baada198_b894078d","updated":"2014-08-01 15:52:59.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":125,"context_line":"The classes are designed to be able to notify several error conditions"},{"line_number":126,"context_line":"from the service. Anyway, some interfaces only allow"},{"line_number":127,"context_line":"one error number to be specified concurrently. For this reason I propose"},{"line_number":128,"context_line":"prioritazion of the error flags, this way ServiceStatus will pick"},{"line_number":129,"context_line":"up the most important condition to be propagated."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Proposed levels are: INFO \u003c WARNING \u003c ERROR \u003c CRITICAL"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_78f26f07","line":128,"updated":"2014-07-17 09:30:37.000000000","message":"prioritization?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":125,"context_line":"The classes are designed to be able to notify several error conditions"},{"line_number":126,"context_line":"from the service. Anyway, some interfaces only allow"},{"line_number":127,"context_line":"one error number to be specified concurrently. For this reason I propose"},{"line_number":128,"context_line":"prioritazion of the error flags, this way ServiceStatus will pick"},{"line_number":129,"context_line":"up the most important condition to be propagated."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Proposed levels are: INFO \u003c WARNING \u003c ERROR \u003c CRITICAL"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_ea19f7d2","line":128,"in_reply_to":"baada198_78f26f07","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":133,"context_line":"When all flags are cleared, it will propagate \u0027errno\u003d0\u0027,"},{"line_number":134,"context_line":"\u0027status\u003d\"Service OK\"\u0027."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"This change will go into the oslo-incubator repository."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Alternatives"},{"line_number":139,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_18b89310","line":136,"updated":"2014-07-17 09:30:37.000000000","message":"Which module?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":133,"context_line":"When all flags are cleared, it will propagate \u0027errno\u003d0\u0027,"},{"line_number":134,"context_line":"\u0027status\u003d\"Service OK\"\u0027."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"This change will go into the oslo-incubator repository."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Alternatives"},{"line_number":139,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_ca20b3fa","line":136,"in_reply_to":"baada198_18b89310","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Impact on Existing APIs"},{"line_number":145,"context_line":"-----------------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* systemd.notify may accept a dictionary with the pararmeters"},{"line_number":148,"context_line":"  to be sent ot systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":149,"context_line":"  to mantain compatibility."},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_b8496734","line":147,"updated":"2014-07-17 09:30:37.000000000","message":"parameters","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Impact on Existing APIs"},{"line_number":145,"context_line":"-----------------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* systemd.notify may accept a dictionary with the pararmeters"},{"line_number":148,"context_line":"  to be sent ot systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":149,"context_line":"  to mantain compatibility."},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_4a7ca3eb","line":147,"in_reply_to":"baada198_b8496734","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":145,"context_line":"-----------------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* systemd.notify may accept a dictionary with the pararmeters"},{"line_number":148,"context_line":"  to be sent ot systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":149,"context_line":"  to mantain compatibility."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_385d57ed","line":148,"updated":"2014-07-17 09:30:37.000000000","message":"s/ ot / to /","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":145,"context_line":"-----------------------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* systemd.notify may accept a dictionary with the pararmeters"},{"line_number":148,"context_line":"  to be sent ot systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":149,"context_line":"  to mantain compatibility."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_aa6a9f18","line":148,"in_reply_to":"baada198_385d57ed","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"02232782ed49ea4de9dd7cff9b8e164f7aed6431","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* systemd.notify may accept a dictionary with the pararmeters"},{"line_number":148,"context_line":"  to be sent ot systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":149,"context_line":"  to mantain compatibility."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Security impact"},{"line_number":152,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_4bff4c66","line":149,"updated":"2014-07-25 07:18:55.000000000","message":"I\u0027d argue the other way around: if we accept a kwarg and just pass stuff through, we guarantee that we\u0027ll have patches land in nova that only work in systemd. If we\u0027re supporting multiple managers, and they have different behaviuors, we need a hard abstraction, not a sieve.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"6990a488c84ae154dec849abe17d944b13ee0297","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* systemd.notify may accept a dictionary with the pararmeters"},{"line_number":148,"context_line":"  to be sent ot systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":149,"context_line":"  to mantain compatibility."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Security impact"},{"line_number":152,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_0908c426","line":149,"updated":"2014-07-14 19:46:01.000000000","message":"Will anything other than systemd understand those arguments? We don\u0027t want the API to expose driver-specific options that an application would have to worry about.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* systemd.notify may accept a dictionary with the pararmeters"},{"line_number":148,"context_line":"  to be sent ot systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":149,"context_line":"  to mantain compatibility."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Security impact"},{"line_number":152,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_d86b7b84","line":149,"updated":"2014-07-17 09:30:37.000000000","message":"s/mantain/maintain","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0498179e152339cf6f63d09e4b63e097736cc729","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* systemd.notify may accept a dictionary with the pararmeters"},{"line_number":148,"context_line":"  to be sent ot systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":149,"context_line":"  to mantain compatibility."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Security impact"},{"line_number":152,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_e2b0f344","line":149,"in_reply_to":"baada198_0908c426","updated":"2014-07-15 09:08:24.000000000","message":"Right,\n\nProbably, it\u0027s more decoupled to accept a kwarg dictionary, and translate any parameters know by our implementation to what systemd expects.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"484265963d357d0f35f28560421af4fe990055aa","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* systemd.notify may accept a dictionary with the pararmeters"},{"line_number":148,"context_line":"  to be sent ot systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":149,"context_line":"  to mantain compatibility."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Security impact"},{"line_number":152,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_a1c56f3e","line":149,"in_reply_to":"baada198_4bff4c66","updated":"2014-08-01 11:23:53.000000000","message":"Hi Robert, I don\u0027t understand your point exactly. \n\nWhy nova does only work with systemd?, doesn\u0027t it work with LSB init.d scripts?. \n\nBtw, using a plugin architecture, we could leave the existing systemd.notifty interface untouched. As, we\u0027re actually replicating the code there for the systemd part, thus, later the applications could port to the new \"hard\" abstracted plugin interface (to LSB/systemd/upstart/ocf/whatever..) at a later time.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"02232782ed49ea4de9dd7cff9b8e164f7aed6431","unresolved":false,"context_lines":[{"line_number":166,"context_line":"--------------------"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"* A service status notification plugin will need to be"},{"line_number":169,"context_line":"  specified."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"* For the StatusFileNotifier we may decide how to handle"},{"line_number":172,"context_line":"  the location of the status file:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_6bf7b08c","line":169,"updated":"2014-07-25 07:18:55.000000000","message":"Can we avoid this?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"484265963d357d0f35f28560421af4fe990055aa","unresolved":false,"context_lines":[{"line_number":166,"context_line":"--------------------"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"* A service status notification plugin will need to be"},{"line_number":169,"context_line":"  specified."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"* For the StatusFileNotifier we may decide how to handle"},{"line_number":172,"context_line":"  the location of the status file:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_01037b76","line":169,"in_reply_to":"baada198_6bf7b08c","updated":"2014-08-01 11:23:53.000000000","message":"We can setup systemd by default, so only distributions would need to change this default setting.\n\nThat sounds ok?","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":178,"context_line":"----------------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Using this notification interface would require explicit integration"},{"line_number":181,"context_line":"which each openstack project daemon/service, which will be responsible"},{"line_number":182,"context_line":"for setting and clearing specific error flags during transient or or"},{"line_number":183,"context_line":"degraded operation conditions."},{"line_number":184,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_d8f29be2","line":181,"updated":"2014-07-17 09:30:37.000000000","message":"s/which each/with each/","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"4d532b00371240edd57c5e0a99bf8eb3f6e12111","unresolved":false,"context_lines":[{"line_number":178,"context_line":"----------------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Using this notification interface would require explicit integration"},{"line_number":181,"context_line":"which each openstack project daemon/service, which will be responsible"},{"line_number":182,"context_line":"for setting and clearing specific error flags during transient or or"},{"line_number":183,"context_line":"degraded operation conditions."},{"line_number":184,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_cdbe0d00","line":181,"in_reply_to":"baada198_d8f29be2","updated":"2014-08-01 15:52:59.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Using this notification interface would require explicit integration"},{"line_number":181,"context_line":"which each openstack project daemon/service, which will be responsible"},{"line_number":182,"context_line":"for setting and clearing specific error flags during transient or or"},{"line_number":183,"context_line":"degraded operation conditions."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_b81ec70b","line":182,"updated":"2014-07-17 09:30:37.000000000","message":"s/or or/or/","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"4d532b00371240edd57c5e0a99bf8eb3f6e12111","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Using this notification interface would require explicit integration"},{"line_number":181,"context_line":"which each openstack project daemon/service, which will be responsible"},{"line_number":182,"context_line":"for setting and clearing specific error flags during transient or or"},{"line_number":183,"context_line":"degraded operation conditions."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_0db56518","line":182,"in_reply_to":"baada198_b81ec70b","updated":"2014-08-01 15:52:59.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"6990a488c84ae154dec849abe17d944b13ee0297","unresolved":false,"context_lines":[{"line_number":205,"context_line":"* ServiceStatusNotificator base plugin class"},{"line_number":206,"context_line":"* ServiceSystemdNotificator driver implementation, and config"},{"line_number":207,"context_line":"  parameter to set the driver."},{"line_number":208,"context_line":"* ServiceFileNotificator driver implementation"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Documentation Impact"},{"line_number":211,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_496abcb3","line":208,"updated":"2014-07-14 19:46:01.000000000","message":"If the notification mechanism is going to support tools other than systemd, we should consider creating a new module to hold it and naming it in a more generic way. The existing systemd module could then be deprecated as applications move to the new plugin-based system.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":205,"context_line":"* ServiceStatusNotificator base plugin class"},{"line_number":206,"context_line":"* ServiceSystemdNotificator driver implementation, and config"},{"line_number":207,"context_line":"  parameter to set the driver."},{"line_number":208,"context_line":"* ServiceFileNotificator driver implementation"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Documentation Impact"},{"line_number":211,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_ca58b359","line":208,"in_reply_to":"baada198_228e6b79","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0498179e152339cf6f63d09e4b63e097736cc729","unresolved":false,"context_lines":[{"line_number":205,"context_line":"* ServiceStatusNotificator base plugin class"},{"line_number":206,"context_line":"* ServiceSystemdNotificator driver implementation, and config"},{"line_number":207,"context_line":"  parameter to set the driver."},{"line_number":208,"context_line":"* ServiceFileNotificator driver implementation"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Documentation Impact"},{"line_number":211,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_228e6b79","line":208,"in_reply_to":"baada198_496abcb3","updated":"2014-07-15 09:08:24.000000000","message":"+1\n\nI was thinking of that since I posted this last spec patchset. \nI\u0027ll do it.","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0ef86fd041104b55b67c31ff67d7a38621a3cea4","unresolved":false,"context_lines":[{"line_number":226,"context_line":"* systemd NOTIFY_SOCKET mechanism specification"},{"line_number":227,"context_line":"   http://www.freedesktop.org/software/systemd/man/sd_notify.html"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"* ERRNO parameter suport merged into systemd"},{"line_number":230,"context_line":"   http://lists.freedesktop.org/archives/systemd-devel/2014-July/021025.html"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_58912b45","line":229,"updated":"2014-07-17 09:30:37.000000000","message":"s/suport/support","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"389917f90a07bd779ebfd078083fe385d7ea655b","unresolved":false,"context_lines":[{"line_number":226,"context_line":"* systemd NOTIFY_SOCKET mechanism specification"},{"line_number":227,"context_line":"   http://www.freedesktop.org/software/systemd/man/sd_notify.html"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"* ERRNO parameter suport merged into systemd"},{"line_number":230,"context_line":"   http://lists.freedesktop.org/archives/systemd-devel/2014-July/021025.html"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_aa5b7f53","line":229,"in_reply_to":"baada198_58912b45","updated":"2014-08-01 15:51:14.000000000","message":"Done","commit_id":"c2f162054ddb4d4ed662d6acb4c547d6f9f0c024"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"db8b1b8af79667732a04229700b01203f66a617f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":57,"context_line":"                        manager"},{"line_number":58,"context_line":"        :type message: string"},{"line_number":59,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":60,"context_line":"        :rtype: string"},{"line_number":61,"context_line":"        \"\"\""},{"line_number":62,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_472a9178","line":59,"updated":"2014-08-04 20:15:46.000000000","message":"If we don\u0027t need to pass the handle to clear_status() any more, there\u0027s no need to return it.","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0457b5eb1d527d654c4dbfe3f871613c7a2bd7c4","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":57,"context_line":"                        manager"},{"line_number":58,"context_line":"        :type message: string"},{"line_number":59,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":60,"context_line":"        :rtype: string"},{"line_number":61,"context_line":"        \"\"\""},{"line_number":62,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_8eb10494","line":59,"in_reply_to":"baada198_41d0a852","updated":"2014-08-05 15:13:10.000000000","message":"Done","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"36140af973ad3c39ff2679f36a5616351871695b","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":57,"context_line":"                        manager"},{"line_number":58,"context_line":"        :type message: string"},{"line_number":59,"context_line":"        :returns: handle to the status flag we just set"},{"line_number":60,"context_line":"        :rtype: string"},{"line_number":61,"context_line":"        \"\"\""},{"line_number":62,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_41d0a852","line":59,"in_reply_to":"baada198_472a9178","updated":"2014-08-05 10:25:03.000000000","message":"Woops, thanks!, taking it out.","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"db8b1b8af79667732a04229700b01203f66a617f","unresolved":false,"context_lines":[{"line_number":66,"context_line":"           manager about the change, sending a 0/OK if all flags are clear,"},{"line_number":67,"context_line":"           or the highest priority one otherwise."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        :param status_handle"},{"line_number":70,"context_line":"        :type status_handle: string"},{"line_number":71,"context_line":"        \"\"\""},{"line_number":72,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_ec4d4cc6","line":69,"updated":"2014-08-04 20:15:46.000000000","message":"The parameter descriptions don\u0027t match the parameters in the function signature.","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"36140af973ad3c39ff2679f36a5616351871695b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"           manager about the change, sending a 0/OK if all flags are clear,"},{"line_number":67,"context_line":"           or the highest priority one otherwise."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        :param status_handle"},{"line_number":70,"context_line":"        :type status_handle: string"},{"line_number":71,"context_line":"        \"\"\""},{"line_number":72,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_c1bbd80e","line":69,"in_reply_to":"baada198_ec4d4cc6","updated":"2014-08-05 10:25:03.000000000","message":".... ashamed :] ...\n\nIt seems that I corrected the parameters, but totally forgot about the descriptions.","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0457b5eb1d527d654c4dbfe3f871613c7a2bd7c4","unresolved":false,"context_lines":[{"line_number":66,"context_line":"           manager about the change, sending a 0/OK if all flags are clear,"},{"line_number":67,"context_line":"           or the highest priority one otherwise."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        :param status_handle"},{"line_number":70,"context_line":"        :type status_handle: string"},{"line_number":71,"context_line":"        \"\"\""},{"line_number":72,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_aeb6c887","line":69,"in_reply_to":"baada198_ec4d4cc6","updated":"2014-08-05 15:13:10.000000000","message":"Done","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"db8b1b8af79667732a04229700b01203f66a617f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \"\"\""},{"line_number":72,"context_line":"        pass"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"     def clear_status(self):"},{"line_number":75,"context_line":"        \"\"\"Clear all status flags, and notify the service manager we are OK."},{"line_number":76,"context_line":"        \"\"\""},{"line_number":77,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_6c621c3e","line":74,"updated":"2014-08-04 20:15:46.000000000","message":"This method is going to need a different name, since it has a different signature than the previous method with the same name.","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0457b5eb1d527d654c4dbfe3f871613c7a2bd7c4","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \"\"\""},{"line_number":72,"context_line":"        pass"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"     def clear_status(self):"},{"line_number":75,"context_line":"        \"\"\"Clear all status flags, and notify the service manager we are OK."},{"line_number":76,"context_line":"        \"\"\""},{"line_number":77,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_ce713ce1","line":74,"in_reply_to":"baada198_6153ecde","updated":"2014-08-05 15:13:10.000000000","message":"Done","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"36140af973ad3c39ff2679f36a5616351871695b","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \"\"\""},{"line_number":72,"context_line":"        pass"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"     def clear_status(self):"},{"line_number":75,"context_line":"        \"\"\"Clear all status flags, and notify the service manager we are OK."},{"line_number":76,"context_line":"        \"\"\""},{"line_number":77,"context_line":"        pass"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_6153ecde","line":74,"in_reply_to":"baada198_6c621c3e","updated":"2014-08-05 10:25:03.000000000","message":"Correct.\n\nhow does cleanup_status or clear_all look?","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"db8b1b8af79667732a04229700b01203f66a617f","unresolved":false,"context_lines":[{"line_number":139,"context_line":"from the service. Anyway, some interfaces only allow"},{"line_number":140,"context_line":"one error number to be specified concurrently. For this reason I propose"},{"line_number":141,"context_line":"prioritization of the error flags, this way ServiceStatus will pick"},{"line_number":142,"context_line":"up the most important condition to be propagated."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Proposed levels are: INFO \u003c WARNING \u003c ERROR \u003c CRITICAL"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_cc75e8cc","line":142,"updated":"2014-08-04 20:15:46.000000000","message":"Does the imply that setting two status messages at different priorities, and then clearing the one at the higher priority will leave the lower priority status active? What is the status after:\n\n  set_status(WARNING, errno1, msg1)\n  set_status(ERROR, errno2, msg2)\n  clear_status(ERROR, errno2)","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0457b5eb1d527d654c4dbfe3f871613c7a2bd7c4","unresolved":false,"context_lines":[{"line_number":139,"context_line":"from the service. Anyway, some interfaces only allow"},{"line_number":140,"context_line":"one error number to be specified concurrently. For this reason I propose"},{"line_number":141,"context_line":"prioritization of the error flags, this way ServiceStatus will pick"},{"line_number":142,"context_line":"up the most important condition to be propagated."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Proposed levels are: INFO \u003c WARNING \u003c ERROR \u003c CRITICAL"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_499606a2","line":142,"in_reply_to":"baada198_41ba68e1","updated":"2014-08-05 15:13:10.000000000","message":"Done","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"36140af973ad3c39ff2679f36a5616351871695b","unresolved":false,"context_lines":[{"line_number":139,"context_line":"from the service. Anyway, some interfaces only allow"},{"line_number":140,"context_line":"one error number to be specified concurrently. For this reason I propose"},{"line_number":141,"context_line":"prioritization of the error flags, this way ServiceStatus will pick"},{"line_number":142,"context_line":"up the most important condition to be propagated."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Proposed levels are: INFO \u003c WARNING \u003c ERROR \u003c CRITICAL"},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_41ba68e1","line":142,"in_reply_to":"baada198_cc75e8cc","updated":"2014-08-05 10:25:03.000000000","message":"Correct,\nThe error conditions could come from different modules into the software,\nbut we can only notify one.\n\nIf the lower priority one is not clear at the time the high priority one is clear, then we start notifying that one.\n\nThe status before clear would be\n\n[{priority:WARNING, errno: errno1, message:msg1}, \n {priority:ERROR,     errno: errno2, message:msg2}]\n\nand, on an interface where we can only notify one at a time, we would be notifying \"errno: errno2, message:msg2\"\n\nonce the ERROR condition is cleared, we would notify: errno: errno1, message:msg1\n\nUntil that is cleared by the software module that set it.","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"db8b1b8af79667732a04229700b01203f66a617f","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"A set of fatal and non-fatal generic error codes will be provided"},{"line_number":150,"context_line":"in the status module. With application specific ranges which"},{"line_number":151,"context_line":"could be defined by the applications themselves."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"This change will go into the oslo-incubator repository. In the"},{"line_number":154,"context_line":"openstack.common.status module."}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_4c30f806","line":151,"updated":"2014-08-04 20:15:46.000000000","message":"If the status is associated with a daemon, the receiver of the status will know which application it is. Do we need to designate ranges for each application, or is it enough to designate one range as being application specific?","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0457b5eb1d527d654c4dbfe3f871613c7a2bd7c4","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"A set of fatal and non-fatal generic error codes will be provided"},{"line_number":150,"context_line":"in the status module. With application specific ranges which"},{"line_number":151,"context_line":"could be defined by the applications themselves."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"This change will go into the oslo-incubator repository. In the"},{"line_number":154,"context_line":"openstack.common.status module."}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_89a01ef5","line":151,"in_reply_to":"baada198_01979046","updated":"2014-08-05 15:13:10.000000000","message":"Done","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"36140af973ad3c39ff2679f36a5616351871695b","unresolved":false,"context_lines":[{"line_number":148,"context_line":""},{"line_number":149,"context_line":"A set of fatal and non-fatal generic error codes will be provided"},{"line_number":150,"context_line":"in the status module. With application specific ranges which"},{"line_number":151,"context_line":"could be defined by the applications themselves."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"This change will go into the oslo-incubator repository. In the"},{"line_number":154,"context_line":"openstack.common.status module."}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_01979046","line":151,"in_reply_to":"baada198_4c30f806","updated":"2014-08-05 10:25:03.000000000","message":"Correct.\nI would define one range as being application specific. I will rephrase that to make it more clear, as it was my initial intention.","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"db8b1b8af79667732a04229700b01203f66a617f","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* systemd.notify may accept a dictionary with the parameters"},{"line_number":166,"context_line":"  to be sent to systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":167,"context_line":"  to mantain compatibility."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Security impact"},{"line_number":170,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_a7a0cdf3","line":167,"updated":"2014-08-04 20:15:46.000000000","message":"As lifeless said earlier, we do not want to allow arguments that are only supported by some backends. That means we need to provide an API that takes explicitly named arguments, and that all drivers must accept those values and either use them or document that they discard them. It\u0027s better to not provide arguments for behaviors that some backends cannot support, so let\u0027s try to keep the argument list small for now.","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0457b5eb1d527d654c4dbfe3f871613c7a2bd7c4","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* systemd.notify may accept a dictionary with the parameters"},{"line_number":166,"context_line":"  to be sent to systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":167,"context_line":"  to mantain compatibility."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Security impact"},{"line_number":170,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_c9a936e0","line":167,"in_reply_to":"baada198_21ff346b","updated":"2014-08-05 15:13:10.000000000","message":"Done","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"36140af973ad3c39ff2679f36a5616351871695b","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* systemd.notify may accept a dictionary with the parameters"},{"line_number":166,"context_line":"  to be sent to systemd. The default would be {\u0027READY\u0027:True }"},{"line_number":167,"context_line":"  to mantain compatibility."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Security impact"},{"line_number":170,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_21ff346b","line":167,"in_reply_to":"baada198_a7a0cdf3","updated":"2014-08-05 10:25:03.000000000","message":"Yes, I\u0027m not talking about the newly provided API here,\n\nbut about how do we need to extend the systemd notify one, \n\nUnless we stop depending on the current \"systemd.notify\" API, and rewrite that code into the driver, then let the applications port to the new driver subsystem for this, once that happens we can remove the old systemd module.\n\nDoes it sound reasonable?","commit_id":"0e00a01f25dec3a453ad6d9b91a0334e30bef586"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"048752b0cee50479bd355cfa6f6193b7c4a49ac1","unresolved":false,"context_lines":[{"line_number":191,"context_line":""},{"line_number":192,"context_line":"* Add an status section to the configuration, providing:"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":" * A service status notification plugin."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"* For the FileNotifier we may decide how to handle"},{"line_number":197,"context_line":"  the location of the status file:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_86580ffc","line":194,"updated":"2014-08-18 06:21:50.000000000","message":"Fix bullet indentation.","commit_id":"d805f8801b50545d35d4bf990a6e867d5da3b15a"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"048752b0cee50479bd355cfa6f6193b7c4a49ac1","unresolved":false,"context_lines":[{"line_number":193,"context_line":""},{"line_number":194,"context_line":" * A service status notification plugin."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"* For the FileNotifier we may decide how to handle"},{"line_number":197,"context_line":"  the location of the status file:"},{"line_number":198,"context_line":"  1) Via API call to the to provide a status_path at start"},{"line_number":199,"context_line":"  2) Fixed format based on $PID"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1abeadc6_c6712779","line":196,"updated":"2014-08-18 06:21:50.000000000","message":"Amend this to be part of the configuration section.","commit_id":"d805f8801b50545d35d4bf990a6e867d5da3b15a"}],"specs/kilo/service-status-interface.rst":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"93be403ad64de08f71b984944b9ec50ffa0d7d07","unresolved":false,"context_lines":[{"line_number":54,"context_line":"           then we signal the service manager with the current highest errno"},{"line_number":55,"context_line":"           (which may be that of an earlier error)."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        :type errno: int"},{"line_number":58,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":59,"context_line":"                        manager"},{"line_number":60,"context_line":"        :param priority: Priority of the status flag we\u0027re setting"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aa7fdbe_ebc29ae7","line":57,"updated":"2014-10-27 21:32:17.000000000","message":"Your type and parameter definition entries are all mixed up. Can you organize them in the same order as the arguments to the function?","commit_id":"89636afd885422911fd9f9c1bd3bf48942e6ff67"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0dbda61331713bf98eea44ad0aba4a3d7bdfef70","unresolved":false,"context_lines":[{"line_number":54,"context_line":"           then we signal the service manager with the current highest errno"},{"line_number":55,"context_line":"           (which may be that of an earlier error)."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        :type errno: int"},{"line_number":58,"context_line":"        :param message: The status message we want to pass to the service"},{"line_number":59,"context_line":"                        manager"},{"line_number":60,"context_line":"        :param priority: Priority of the status flag we\u0027re setting"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aa7fdbe_c804e54b","line":57,"in_reply_to":"9aa7fdbe_ebc29ae7","updated":"2014-10-28 15:08:03.000000000","message":"Good catch, thanks Doug. Will do.","commit_id":"89636afd885422911fd9f9c1bd3bf48942e6ff67"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"93be403ad64de08f71b984944b9ec50ffa0d7d07","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        \"\"\""},{"line_number":80,"context_line":"        pass"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"     def feed_watchdog():"},{"line_number":83,"context_line":"       \"\"\"Sends a watchdog alive notification signal to the service manager\"\"\""},{"line_number":84,"context_line":"       pass"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aa7fdbe_8be4aeac","line":82,"updated":"2014-10-27 21:32:17.000000000","message":"Is \"feed watchdog\" something the pacemaker docs talk about? Can this name be made more descriptive so non-native speakers don\u0027t have to figure out the idiom?","commit_id":"89636afd885422911fd9f9c1bd3bf48942e6ff67"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0dbda61331713bf98eea44ad0aba4a3d7bdfef70","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        \"\"\""},{"line_number":80,"context_line":"        pass"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"     def feed_watchdog():"},{"line_number":83,"context_line":"       \"\"\"Sends a watchdog alive notification signal to the service manager\"\"\""},{"line_number":84,"context_line":"       pass"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aa7fdbe_0857cd26","line":82,"in_reply_to":"9aa7fdbe_8be4aeac","updated":"2014-10-28 15:08:03.000000000","message":"This is actually systemd specific. Ok, let me think of other term, I\u0027m very used to it, may be, reset_watchdog()? .\n\n\nThe concept of \"feeding the watchdog\" , is that you have a watch \"dog\" watching your process, but as long as you keep it feeding it in time, it wont \"bite\" you :).","commit_id":"89636afd885422911fd9f9c1bd3bf48942e6ff67"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"93be403ad64de08f71b984944b9ec50ffa0d7d07","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. seqdiag::"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"  seqdiag {"},{"line_number":99,"context_line":"    Caller -\u003e StatusNotifier"},{"line_number":100,"context_line":"     [label \u003d \"set_status(errno, priority, message_str)\"];"},{"line_number":101,"context_line":"  }"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aa7fdbe_8bfbce45","line":98,"updated":"2014-10-27 21:32:17.000000000","message":"Please replace the seqdiag stuff with inline ascii diagrams or simple bulleted lists. This form is too difficult to review.","commit_id":"89636afd885422911fd9f9c1bd3bf48942e6ff67"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0dbda61331713bf98eea44ad0aba4a3d7bdfef70","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. seqdiag::"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"  seqdiag {"},{"line_number":99,"context_line":"    Caller -\u003e StatusNotifier"},{"line_number":100,"context_line":"     [label \u003d \"set_status(errno, priority, message_str)\"];"},{"line_number":101,"context_line":"  }"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aa7fdbe_883adde4","line":98,"in_reply_to":"9aa7fdbe_8bfbce45","updated":"2014-10-28 15:08:03.000000000","message":"Ack, will do, at this moment the seqdiams don\u0027t make any sense, they\u0027ve gone to very simple interactions.","commit_id":"89636afd885422911fd9f9c1bd3bf48942e6ff67"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"93be403ad64de08f71b984944b9ec50ffa0d7d07","unresolved":false,"context_lines":[{"line_number":191,"context_line":""},{"line_number":192,"context_line":"* For the FileNotifier we may decide how to handle"},{"line_number":193,"context_line":"  the location of the status file:"},{"line_number":194,"context_line":"  1) Via API call to the to provide a state_path at start"},{"line_number":195,"context_line":"  2) Fixed format based on $PID"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aa7fdbe_4b7ac6bd","line":194,"updated":"2014-10-27 21:32:17.000000000","message":"An application can\u0027t make an API call to configure the path, because then the application would have to know which status plugin is being used and that some plugins require extra work to configure.\n\nCan we put the path in the configuration file and let the plugin get it from there?","commit_id":"89636afd885422911fd9f9c1bd3bf48942e6ff67"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"0dbda61331713bf98eea44ad0aba4a3d7bdfef70","unresolved":false,"context_lines":[{"line_number":191,"context_line":""},{"line_number":192,"context_line":"* For the FileNotifier we may decide how to handle"},{"line_number":193,"context_line":"  the location of the status file:"},{"line_number":194,"context_line":"  1) Via API call to the to provide a state_path at start"},{"line_number":195,"context_line":"  2) Fixed format based on $PID"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9aa7fdbe_6b7a1389","line":194,"in_reply_to":"9aa7fdbe_4b7ac6bd","updated":"2014-10-28 15:08:03.000000000","message":"Sounds good, question:\n\nFor something like this, where would we do that?, an specific section in configuration? DEFAULT one?, do we have other examples about this across oslo?","commit_id":"89636afd885422911fd9f9c1bd3bf48942e6ff67"}]}
