)]}'
{"specs/newton/approved/continuously-optimization.rst":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"ffb1ad0dc6ec3fafd7caaabdddfca69300fd64ce","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As the Administrator I want to create `Audit`_ with CONTINUOUS type."},{"line_number":29,"context_line":"I specify periodic time with --period parameter (in seconds) to run audit"},{"line_number":30,"context_line":"every 600 seconds. Running audit will create action plan every 600 seconds."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Project Priority"},{"line_number":33,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_6f377eb0","line":30,"range":{"start_line":28,"start_character":0,"end_line":30,"end_character":75},"updated":"2016-06-17 13:29:49.000000000","message":"I think you should update the use case to justify that APScheduler is a better implementation solution. The idea is more: \nI want to be able to start several continuous audits, on different period time. \nI want to be able to stop or suspend an audit,\nI want to be able to update an audit period time.","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5815385d2754f0342ae0298d52e59646162a3b6c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"As the Administrator I want to create `Audit`_ with CONTINUOUS type."},{"line_number":29,"context_line":"I specify periodic time with --period parameter (in seconds) to run audit"},{"line_number":30,"context_line":"every 600 seconds. Running audit will create action plan every 600 seconds."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Project Priority"},{"line_number":33,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a9d85d2_69f52a82","line":30,"range":{"start_line":28,"start_character":0,"end_line":30,"end_character":75},"in_reply_to":"7aa08908_6f377eb0","updated":"2016-06-20 14:23:24.000000000","message":"Done","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"ffb1ad0dc6ec3fafd7caaabdddfca69300fd64ce","unresolved":false,"context_lines":[{"line_number":58,"context_line":"to be amended in order to instantiate the new ContinuousAuditManager class."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"The ContinuousAuditManager class will contain the BackgroundScheduler but also"},{"line_number":61,"context_line":"the logic for managing the continuous audits. We should also create a"},{"line_number":62,"context_line":"ContinuousAuditJob class in charge of supervising one `Audit`_."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"We can easily add new audits or remove old ones on the fly with"},{"line_number":65,"context_line":"BackgroundScheduler. So, the existing continuous audits should be"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_54097994","line":62,"range":{"start_line":61,"start_character":45,"end_line":62,"end_character":63},"updated":"2016-06-17 13:29:49.000000000","message":"Could you give us more details ? is it not similar to \"The CoutinuousAuditManager class will contain ... the logic for managing the continuous audits\" ?","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5815385d2754f0342ae0298d52e59646162a3b6c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"to be amended in order to instantiate the new ContinuousAuditManager class."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"The ContinuousAuditManager class will contain the BackgroundScheduler but also"},{"line_number":61,"context_line":"the logic for managing the continuous audits. We should also create a"},{"line_number":62,"context_line":"ContinuousAuditJob class in charge of supervising one `Audit`_."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"We can easily add new audits or remove old ones on the fly with"},{"line_number":65,"context_line":"BackgroundScheduler. So, the existing continuous audits should be"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a9d85d2_3aa6c1c1","line":62,"range":{"start_line":61,"start_character":45,"end_line":62,"end_character":63},"in_reply_to":"7aa08908_54097994","updated":"2016-06-20 14:23:24.000000000","message":"Done","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"ffb1ad0dc6ec3fafd7caaabdddfca69300fd64ce","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Then, the ContinuousAuditManager will manage the audits in an even driven"},{"line_number":69,"context_line":"fashion. In order to do that, we should then modify the \u0027post\u0027, \u0027patch\u0027"},{"line_number":70,"context_line":"and \u0027delete\u0027 methods in the `Audit file`_ for sending immediate notification"},{"line_number":71,"context_line":"messages."},{"line_number":72,"context_line":"The notifications generated by watcher are generated in JSON format,"},{"line_number":73,"context_line":"and placed on an AMQP queue named ``watcher.api.status``."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_59c1b4e3","line":70,"range":{"start_line":70,"start_character":35,"end_line":70,"end_character":39},"updated":"2016-06-17 13:29:49.000000000","message":"API source file","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5815385d2754f0342ae0298d52e59646162a3b6c","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Then, the ContinuousAuditManager will manage the audits in an even driven"},{"line_number":69,"context_line":"fashion. In order to do that, we should then modify the \u0027post\u0027, \u0027patch\u0027"},{"line_number":70,"context_line":"and \u0027delete\u0027 methods in the `Audit file`_ for sending immediate notification"},{"line_number":71,"context_line":"messages."},{"line_number":72,"context_line":"The notifications generated by watcher are generated in JSON format,"},{"line_number":73,"context_line":"and placed on an AMQP queue named ``watcher.api.status``."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a9d85d2_e9163aa6","line":70,"range":{"start_line":70,"start_character":35,"end_line":70,"end_character":39},"in_reply_to":"7aa08908_59c1b4e3","updated":"2016-06-20 14:23:24.000000000","message":"Done","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"ffb1ad0dc6ec3fafd7caaabdddfca69300fd64ce","unresolved":false,"context_lines":[{"line_number":69,"context_line":"fashion. In order to do that, we should then modify the \u0027post\u0027, \u0027patch\u0027"},{"line_number":70,"context_line":"and \u0027delete\u0027 methods in the `Audit file`_ for sending immediate notification"},{"line_number":71,"context_line":"messages."},{"line_number":72,"context_line":"The notifications generated by watcher are generated in JSON format,"},{"line_number":73,"context_line":"and placed on an AMQP queue named ``watcher.api.status``."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"The ContinuousAuditManager will consume these events in order to update"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_94a6410d","line":72,"range":{"start_line":72,"start_character":31,"end_line":72,"end_character":38},"updated":"2016-06-17 13:29:49.000000000","message":"watcher API","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5815385d2754f0342ae0298d52e59646162a3b6c","unresolved":false,"context_lines":[{"line_number":69,"context_line":"fashion. In order to do that, we should then modify the \u0027post\u0027, \u0027patch\u0027"},{"line_number":70,"context_line":"and \u0027delete\u0027 methods in the `Audit file`_ for sending immediate notification"},{"line_number":71,"context_line":"messages."},{"line_number":72,"context_line":"The notifications generated by watcher are generated in JSON format,"},{"line_number":73,"context_line":"and placed on an AMQP queue named ``watcher.api.status``."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"The ContinuousAuditManager will consume these events in order to update"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a9d85d2_298842e7","line":72,"range":{"start_line":72,"start_character":31,"end_line":72,"end_character":38},"in_reply_to":"7aa08908_94a6410d","updated":"2016-06-20 14:23:24.000000000","message":"Done","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"ffb1ad0dc6ec3fafd7caaabdddfca69300fd64ce","unresolved":false,"context_lines":[{"line_number":70,"context_line":"and \u0027delete\u0027 methods in the `Audit file`_ for sending immediate notification"},{"line_number":71,"context_line":"messages."},{"line_number":72,"context_line":"The notifications generated by watcher are generated in JSON format,"},{"line_number":73,"context_line":"and placed on an AMQP queue named ``watcher.api.status``."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"The ContinuousAuditManager will consume these events in order to update"},{"line_number":76,"context_line":"the status of the audits."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_d4e4490e","line":73,"updated":"2016-06-17 13:29:49.000000000","message":"why not just watcher.api ? Why not define one AMQP queue by Watcher service (api, decision-engine and applier). Do you plan to use many AMQP queues for Watcher in the future ?","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5815385d2754f0342ae0298d52e59646162a3b6c","unresolved":false,"context_lines":[{"line_number":70,"context_line":"and \u0027delete\u0027 methods in the `Audit file`_ for sending immediate notification"},{"line_number":71,"context_line":"messages."},{"line_number":72,"context_line":"The notifications generated by watcher are generated in JSON format,"},{"line_number":73,"context_line":"and placed on an AMQP queue named ``watcher.api.status``."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"The ContinuousAuditManager will consume these events in order to update"},{"line_number":76,"context_line":"the status of the audits."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a9d85d2_915a4082","line":73,"in_reply_to":"7aa08908_d4e4490e","updated":"2016-06-20 14:23:24.000000000","message":"We want to have two different topic.\none topic named \u0027Control\u0027 for triggering tasks on the component\none topic named \u0027Status\u0027 for notifying the current status of the component (i.e. audit creation). \n\nFYI, we have already these topics in watcher.\nwatcher.applier.status/control\nwatcher.decision.status/control","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"ffb1ad0dc6ec3fafd7caaabdddfca69300fd64ce","unresolved":false,"context_lines":[{"line_number":196,"context_line":"  Vladimir Ostroverkhov \u003cOstroverkhov\u003e"},{"line_number":197,"context_line":"  Jean-Emile DARTOIS \u003cjed56\u003e"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Work Items"},{"line_number":200,"context_line":"----------"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"* Add support for periodic_task decorator."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7aa08908_f9f8607e","line":199,"range":{"start_line":199,"start_character":0,"end_line":199,"end_character":10},"updated":"2016-06-17 13:29:49.000000000","message":"could you propose an update of the work items list ?","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"5815385d2754f0342ae0298d52e59646162a3b6c","unresolved":false,"context_lines":[{"line_number":196,"context_line":"  Vladimir Ostroverkhov \u003cOstroverkhov\u003e"},{"line_number":197,"context_line":"  Jean-Emile DARTOIS \u003cjed56\u003e"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Work Items"},{"line_number":200,"context_line":"----------"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"* Add support for periodic_task decorator."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a9d85d2_2591829a","line":199,"range":{"start_line":199,"start_character":0,"end_line":199,"end_character":10},"in_reply_to":"7aa08908_f9f8607e","updated":"2016-06-20 14:23:24.000000000","message":"Done","commit_id":"a5723d6e0f02f1b3e4d99090e64b8be4e93672e0"}]}
