)]}'
{"specs/newton/approved/automatic-triggering-audit.rst":[{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"dbb25133a0e8eb83139f968a7b0f93077bef6f59","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Watcher automatic triggering audit "},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"https://blueprints.launchpad.net/watcher/+spec/automatic-triggering-audit"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_4314d5e7","line":2,"updated":"2016-07-27 09:15:33.000000000","message":"nit: remove extra space.","commit_id":"960459bc62eb45eefd246a01f258d63bc1e94f91"},{"author":{"_account_id":19899,"name":"Xiang Li","email":"li.xiang2@zte.com.cn","username":"ShawnLee"},"change_message_id":"aa6dab917b5fa61094b8249865ecffc829a5df7d","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Problem description"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This blueprint goes beyond the \"continuously-optimization\" blueprint [1] by "},{"line_number":12,"context_line":"applying automatically the Action Plans."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific "}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_5d511bd8","line":11,"range":{"start_line":11,"start_character":69,"end_line":11,"end_character":72},"updated":"2016-07-22 08:37:56.000000000","message":"[1] is missing in this spec.","commit_id":"960459bc62eb45eefd246a01f258d63bc1e94f91"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"dbb25133a0e8eb83139f968a7b0f93077bef6f59","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Problem description"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This blueprint goes beyond the \"continuously-optimization\" blueprint [1] by "},{"line_number":12,"context_line":"applying automatically the Action Plans."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific "}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_83d88d54","line":11,"range":{"start_line":11,"start_character":69,"end_line":11,"end_character":72},"in_reply_to":"dada55a8_5d511bd8","updated":"2016-07-27 09:15:33.000000000","message":"nit: remove extra space.","commit_id":"960459bc62eb45eefd246a01f258d63bc1e94f91"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"dbb25133a0e8eb83139f968a7b0f93077bef6f59","unresolved":false,"context_lines":[{"line_number":11,"context_line":"This blueprint goes beyond the \"continuously-optimization\" blueprint [1] by "},{"line_number":12,"context_line":"applying automatically the Action Plans."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific "},{"line_number":15,"context_line":"strategies or goals. Watcher can periodically trigger some Audits which "},{"line_number":16,"context_line":"generates Action Plans."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_03e5bd07","line":14,"updated":"2016-07-27 09:15:33.000000000","message":"nit: remove extra space.","commit_id":"960459bc62eb45eefd246a01f258d63bc1e94f91"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"dbb25133a0e8eb83139f968a7b0f93077bef6f59","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_e39d090b","line":39,"updated":"2016-07-27 09:15:33.000000000","message":"Can you please explain here how do you propose to solve this problem ?","commit_id":"960459bc62eb45eefd246a01f258d63bc1e94f91"},{"author":{"_account_id":16495,"name":"Jean-Emile DARTOIS","email":"jean-emile.dartois@b-com.com","username":"JeD"},"change_message_id":"dbb25133a0e8eb83139f968a7b0f93077bef6f59","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Data model impact"},{"line_number":48,"context_line":"-----------------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"There must be new field in Audit model: bool \u0027auto_trigger\u0027. "},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"REST API impact"},{"line_number":53,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dada55a8_c3b565ed","line":50,"updated":"2016-07-27 09:15:33.000000000","message":"nit: remove extra space.","commit_id":"960459bc62eb45eefd246a01f258d63bc1e94f91"}],"specs/ocata/approved/automatic-triggering-audit.rst":[{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"3c7998e982478c31d06d6f28d0301f94438b60df","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"---------"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"As administrator, telling audit to trigger the action plan everytime is a"},{"line_number":28,"context_line":"a headache to the administator, so here we are implementing automatic"},{"line_number":29,"context_line":"traggering functionality in audit which triggers the action plans."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa7ab95a_a0f296d0","line":29,"range":{"start_line":27,"start_character":0,"end_line":29,"end_character":65},"updated":"2016-08-26 18:03:46.000000000","message":"I know what the BP is suppose to do but cannot figure out what this use case describes. \n\nAre you saying: \n\nAs an Administrator I would like to have the ability for the Audit to automatically trigger actions within the action plans.","commit_id":"adaceb3fde02a4f123920a43184c5139d81bb0b7"},{"author":{"_account_id":6437,"name":"Susanne Balle","email":"sleipnir012@gmail.com","username":"susanne-balle"},"change_message_id":"3c7998e982478c31d06d6f28d0301f94438b60df","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":"We need to implement congress client for this."},{"line_number":41,"context_line":"Congress agent/client will run continuously, when it meets some condition."},{"line_number":42,"context_line":"If some conditions meet, it calls the continuous audit with some interval time"},{"line_number":43,"context_line":"Actually we need one agent named trigger_audits to call congress plugin"},{"line_number":44,"context_line":"contineously. Once the conditions are met, it triggers the contrineous audit."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa7ab95a_00c0a2df","line":44,"range":{"start_line":40,"start_character":0,"end_line":44,"end_character":77},"updated":"2016-08-26 18:03:46.000000000","message":"Not sure I understand everythign here. See below for ask for clarification:\n\nWe will implement a congress client. \n\n\"The Congress agent will run continously. When the agent meets a specific condition it will call the continous audit. \"\n\nI do not understand the “If some conditions meet, it calls the continuous audit with some interval time”.  If it is triggered by a specific condition why does it call the continous audit within a time interval that IMO is not needed. Some clarification needed.\n\n“Actually we need one agent named trigger_audits to call congress plugin contineously. Once the conditions are met, it triggers the contrineous audit.”\n\nPlease clarify here/ Where will the agent run and not sure why it needs to be calleed trigger_audits. Where will this code reside?\n\nnits: Please run the spellchecker before re-submitting the spec.","commit_id":"adaceb3fde02a4f123920a43184c5139d81bb0b7"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":51,"context_line":"`APScheduler`_ provides several scheduler implementations to schedule jobs with"},{"line_number":52,"context_line":"a specific interval. The scheduler which seems to match well our requirements"},{"line_number":53,"context_line":"is the BackgroundScheduler."},{"line_number":54,"context_line":"APScheduler provides an example: `BackgroundScheduler`_."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The DecisionEngineManager (watcher/decision_engine/manager.py) class will need"},{"line_number":57,"context_line":"to be amended in order to instantiate the new AutoAuditManager class."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_e8bd50d8","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":31},"updated":"2016-09-06 11:23:42.000000000","message":"\"Here is example of using BackgroundScheduler\"","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":53,"context_line":"is the BackgroundScheduler."},{"line_number":54,"context_line":"APScheduler provides an example: `BackgroundScheduler`_."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The DecisionEngineManager (watcher/decision_engine/manager.py) class will need"},{"line_number":57,"context_line":"to be amended in order to instantiate the new AutoAuditManager class."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The AutoAuditManager class will contain the BackgroundScheduler but also"},{"line_number":60,"context_line":"the logic for managing the auto_trigget audits. We should also create a"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_4b40f6a5","line":57,"range":{"start_line":56,"start_character":0,"end_line":57,"end_character":69},"updated":"2016-09-06 11:23:42.000000000","message":"Decision Engine Manager provides only interface to be loaded in oslo.messaging. This interface initialises some types of endpoints and one of them is conductor endpoints which contains reference to AuditEndpoint class. That\u0027s where you can add instance of AutoAuditHandler.","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":54,"context_line":"APScheduler provides an example: `BackgroundScheduler`_."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The DecisionEngineManager (watcher/decision_engine/manager.py) class will need"},{"line_number":57,"context_line":"to be amended in order to instantiate the new AutoAuditManager class."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The AutoAuditManager class will contain the BackgroundScheduler but also"},{"line_number":60,"context_line":"the logic for managing the auto_trigget audits. We should also create a"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_4b6e3630","line":57,"range":{"start_line":57,"start_character":46,"end_line":57,"end_character":62},"updated":"2016-09-06 11:23:42.000000000","message":"We already have manager of audits, AuditEndpoint class. You just need to implement auto_trigger type as handler class. Look at oneshot and continuous types implementation.","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":57,"context_line":"to be amended in order to instantiate the new AutoAuditManager class."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The AutoAuditManager class will contain the BackgroundScheduler but also"},{"line_number":60,"context_line":"the logic for managing the auto_trigget audits. We should also create a"},{"line_number":61,"context_line":"AutoAuditJob class in charge of supervising one `Audit`_."},{"line_number":62,"context_line":"This class will contain the `APScheduler`_ job and its associated audit."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_f24d3f9a","line":60,"range":{"start_line":60,"start_character":27,"end_line":60,"end_character":39},"updated":"2016-09-06 11:23:42.000000000","message":"\"auto_trigger\"","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":56,"context_line":"The DecisionEngineManager (watcher/decision_engine/manager.py) class will need"},{"line_number":57,"context_line":"to be amended in order to instantiate the new AutoAuditManager class."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The AutoAuditManager class will contain the BackgroundScheduler but also"},{"line_number":60,"context_line":"the logic for managing the auto_trigget audits. We should also create a"},{"line_number":61,"context_line":"AutoAuditJob class in charge of supervising one `Audit`_."},{"line_number":62,"context_line":"This class will contain the `APScheduler`_ job and its associated 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 AUTO audits should be"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_669fb150","line":62,"range":{"start_line":59,"start_character":0,"end_line":62,"end_character":72},"updated":"2016-09-06 11:23:42.000000000","message":"You need to inherit AutoAuditHandler from BaseAuditHandler.","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":65,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"},{"line_number":66,"context_line":"automatically added by the decision_engine during start."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Then, the AutoAuditManager 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 `API source file`_ for sending immediate"},{"line_number":71,"context_line":"notification messages."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_a6c0d92b","line":68,"range":{"start_line":68,"start_character":10,"end_line":68,"end_character":26},"updated":"2016-09-06 11:23:42.000000000","message":"\"AutoAuditHandler\"","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":66,"context_line":"automatically added by the decision_engine during start."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Then, the AutoAuditManager 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 `API source file`_ for sending immediate"},{"line_number":71,"context_line":"notification 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.status``."},{"line_number":74,"context_line":"This parameter must be configurable."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_e6cae119","line":71,"range":{"start_line":69,"start_character":9,"end_line":71,"end_character":22},"updated":"2016-09-06 11:23:42.000000000","message":"In this case you need to describe proposed changes in \"REST API impact\" section.","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":90,"context_line":"     \"watcher_object.name\":\"Audit\","},{"line_number":91,"context_line":"     \"watcher_object.version\":\"1.0\","},{"line_number":92,"context_line":"     \"watcher_object.data\":{"},{"line_number":93,"context_line":"     \"audit_uuid\": \"840eeb3e-3486-11e6-ac61-9e71128cae77\","},{"line_number":94,"context_line":"     \"type\": \"AUTO_TRIGGER\","},{"line_number":95,"context_line":"     \"state\": \"PENDING\","},{"line_number":96,"context_line":"    }"},{"line_number":97,"context_line":"  }"},{"line_number":98,"context_line":" }"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_0127af64","line":95,"range":{"start_line":93,"start_character":5,"end_line":95,"end_character":24},"updated":"2016-09-06 11:23:42.000000000","message":"indent it by 2 spaces","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":106,"context_line":"  \"priority\": \"INFO\","},{"line_number":107,"context_line":"  \"publisher_id\": \"\u003cservice name \u003e:\u003cthe host where the service runs\u003e\","},{"line_number":108,"context_line":"  \"payload\": {"},{"line_number":109,"context_line":"       \"watcher_object.namespace\":\"watcher\","},{"line_number":110,"context_line":"          \"watcher_object.name\":\"Audit\","},{"line_number":111,"context_line":"     \"watcher_object.version\":\"1.0\","},{"line_number":112,"context_line":"     \"watcher_object.data\":{"},{"line_number":113,"context_line":"     \"audit_uuid\": \"840eeb3e-3486-11e6-ac61-9e71128cae77\","}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_01b5efec","line":110,"range":{"start_line":109,"start_character":7,"end_line":110,"end_character":40},"updated":"2016-09-06 11:23:42.000000000","message":"fix it","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":110,"context_line":"          \"watcher_object.name\":\"Audit\","},{"line_number":111,"context_line":"     \"watcher_object.version\":\"1.0\","},{"line_number":112,"context_line":"     \"watcher_object.data\":{"},{"line_number":113,"context_line":"     \"audit_uuid\": \"840eeb3e-3486-11e6-ac61-9e71128cae77\","},{"line_number":114,"context_line":"     \"type\": \"AUTO_TRIGGER\","},{"line_number":115,"context_line":"     \"state\": \"ONGOING\","},{"line_number":116,"context_line":"    }"},{"line_number":117,"context_line":"  }"},{"line_number":118,"context_line":" }"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_81f2dfd0","line":115,"range":{"start_line":113,"start_character":5,"end_line":115,"end_character":24},"updated":"2016-09-06 11:23:42.000000000","message":"ditto","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":127,"context_line":"  \"priority\": \"INFO\","},{"line_number":128,"context_line":"  \"publisher_id\": \"\u003cservice name \u003e:\u003cthe host where the service runs\u003e\","},{"line_number":129,"context_line":"  \"payload\": {"},{"line_number":130,"context_line":"       \"watcher_object.namespace\":\"watcher\","},{"line_number":131,"context_line":"          \"watcher_object.name\":\"Audit\","},{"line_number":132,"context_line":"     \"watcher_object.version\":\"1.0\","},{"line_number":133,"context_line":"     \"watcher_object.data\":{"},{"line_number":134,"context_line":"     \"audit_uuid\": \"840eeb3e-3486-11e6-ac61-9e71128cae77\","}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_21b833e5","line":131,"range":{"start_line":130,"start_character":7,"end_line":131,"end_character":40},"updated":"2016-09-06 11:23:42.000000000","message":"fix it","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":131,"context_line":"          \"watcher_object.name\":\"Audit\","},{"line_number":132,"context_line":"     \"watcher_object.version\":\"1.0\","},{"line_number":133,"context_line":"     \"watcher_object.data\":{"},{"line_number":134,"context_line":"     \"audit_uuid\": \"840eeb3e-3486-11e6-ac61-9e71128cae77\","},{"line_number":135,"context_line":"     \"type\": \"AUTO_TRIGGER\","},{"line_number":136,"context_line":"     \"state\": \"SUCCEEDED\","},{"line_number":137,"context_line":"    }"},{"line_number":138,"context_line":"  }"},{"line_number":139,"context_line":" }"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_c1ba27e1","line":136,"range":{"start_line":134,"start_character":5,"end_line":136,"end_character":26},"updated":"2016-09-06 11:23:42.000000000","message":"ditto","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":149,"context_line":"their state. This feature is interesting, but for the first implementation"},{"line_number":150,"context_line":"of the continuous `Audit`_ we will use the memory backend."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"To keep track of the triggered audit, notification has to be pushed on"},{"line_number":153,"context_line":"the message bus every time the audit is re-triggered."},{"line_number":154,"context_line":"When a new action plan is proposed, Watcher should cancel all the previously"},{"line_number":155,"context_line":"generated action plans (and actions) with same Audit Template become obsolete"},{"line_number":156,"context_line":"and therefore their state should be changed to CANCELLED."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_c11227b4","line":153,"range":{"start_line":152,"start_character":0,"end_line":153,"end_character":53},"updated":"2016-09-06 11:23:42.000000000","message":"Don\u0027t you want to describe it in Notification section along with info about notification you have mentioned above?","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":159,"context_line":"Alternatives"},{"line_number":160,"context_line":"------------"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"* To use a cronjob for audit which auomatically triggers the action."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Data model impact"},{"line_number":165,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_01ac0f9f","line":162,"range":{"start_line":162,"start_character":35,"end_line":162,"end_character":47},"updated":"2016-09-06 11:23:42.000000000","message":"\"automatically\"","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Part 1"},{"line_number":219,"context_line":"^^^^^^"},{"line_number":220,"context_line":"* Implement AutoAuditManager that use `APScheduler`_."},{"line_number":221,"context_line":"* Implement AutoAuditJob class."},{"line_number":222,"context_line":"* Implement the logic to add new audits or remove old ones on the fly with"},{"line_number":223,"context_line":"  BackgroundScheduler by periodically query the watcher db. ``Audit.list()``"},{"line_number":224,"context_line":"* Adapt API to support auto_trigger field which boolean."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_7cfd7e39","line":221,"range":{"start_line":220,"start_character":2,"end_line":221,"end_character":31},"updated":"2016-09-06 11:23:42.000000000","message":"\"Implement AutoAuditHandler class.\"","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"8cdc24021b33090639cb26e7cb56023ecf6e6965","unresolved":false,"context_lines":[{"line_number":221,"context_line":"* Implement AutoAuditJob class."},{"line_number":222,"context_line":"* Implement the logic to add new audits or remove old ones on the fly with"},{"line_number":223,"context_line":"  BackgroundScheduler by periodically query the watcher db. ``Audit.list()``"},{"line_number":224,"context_line":"* Adapt API to support auto_trigger field which boolean."},{"line_number":225,"context_line":"* Make some changes to python-watcherclient to add support for auto_trigger"},{"line_number":226,"context_line":"  argument."},{"line_number":227,"context_line":"* Add changes to watcher-dashboard to support AUTO_TRIGGER type."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a89bdaa_6cf31d9f","line":224,"range":{"start_line":224,"start_character":48,"end_line":224,"end_character":55},"updated":"2016-09-06 11:23:42.000000000","message":"\"is boolean type\"","commit_id":"4ab7c97a2620f0fd65f6e793da5851969bbd778d"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"dd16a56d8f3410b1f855e88fae9645d2c82df861","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"As administrator, telling audit to trigger the action plan everytime is a"},{"line_number":28,"context_line":"a headache to the administator, so here we are implementing automatic"},{"line_number":29,"context_line":"traggering functionality in audit which triggers the action plans."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_d4c0de52","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":10},"updated":"2016-09-07 12:38:03.000000000","message":"s/traggering/triggering","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"e0ed78bccf0cb25d6745cb0552f8b92574654e34","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"As administrator, telling audit to trigger the action plan everytime is a"},{"line_number":28,"context_line":"a headache to the administator, so here we are implementing automatic"},{"line_number":29,"context_line":"traggering functionality in audit which triggers the action plans."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_cbec5895","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":10},"in_reply_to":"9a89bdaa_d4c0de52","updated":"2016-09-20 09:10:58.000000000","message":"Done","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"dd16a56d8f3410b1f855e88fae9645d2c82df861","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Project Priority"},{"line_number":34,"context_line":"----------------"},{"line_number":35,"context_line":"Essential for Newton-2"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_944496b7","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":22},"updated":"2016-09-07 12:38:03.000000000","message":"Medium for Ocata-1","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"e0ed78bccf0cb25d6745cb0552f8b92574654e34","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Project Priority"},{"line_number":34,"context_line":"----------------"},{"line_number":35,"context_line":"Essential for Newton-2"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_0be720ad","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":22},"in_reply_to":"9a89bdaa_944496b7","updated":"2016-09-20 09:10:58.000000000","message":"Done","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"dd16a56d8f3410b1f855e88fae9645d2c82df861","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":"The watcher system enables a private cloud administrator to launch `Audit`_"},{"line_number":41,"context_line":"on an Openstack cluster in order to optimize it in regards of one or several"},{"line_number":42,"context_line":"goals. An `Audit`_ is an optimization request but in case of AUTO_TRIGGER,"},{"line_number":43,"context_line":"when system founds AUTO_TRIGGER\u003dTrue in the auto, it will execute action"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_b4619a3b","line":40,"range":{"start_line":40,"start_character":29,"end_line":40,"end_character":36},"updated":"2016-09-07 12:38:03.000000000","message":"could also be a public cloud so please remove private","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"e0ed78bccf0cb25d6745cb0552f8b92574654e34","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":"The watcher system enables a private cloud administrator to launch `Audit`_"},{"line_number":41,"context_line":"on an Openstack cluster in order to optimize it in regards of one or several"},{"line_number":42,"context_line":"goals. An `Audit`_ is an optimization request but in case of AUTO_TRIGGER,"},{"line_number":43,"context_line":"when system founds AUTO_TRIGGER\u003dTrue in the auto, it will execute action"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_6bfeec39","line":40,"range":{"start_line":40,"start_character":29,"end_line":40,"end_character":36},"in_reply_to":"9a89bdaa_b4619a3b","updated":"2016-09-20 09:10:58.000000000","message":"Done","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"dd16a56d8f3410b1f855e88fae9645d2c82df861","unresolved":false,"context_lines":[{"line_number":40,"context_line":"The watcher system enables a private cloud administrator to launch `Audit`_"},{"line_number":41,"context_line":"on an Openstack cluster in order to optimize it in regards of one or several"},{"line_number":42,"context_line":"goals. An `Audit`_ is an optimization request but in case of AUTO_TRIGGER,"},{"line_number":43,"context_line":"when system founds AUTO_TRIGGER\u003dTrue in the auto, it will execute action"},{"line_number":44,"context_line":"plans automatically at certain time."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  - AUTO_TRIGGER \t: the audits will be executed automatically."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_744c72c8","line":43,"range":{"start_line":43,"start_character":44,"end_line":43,"end_character":48},"updated":"2016-09-07 12:38:03.000000000","message":"what means \"auto\" here ?","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"dd16a56d8f3410b1f855e88fae9645d2c82df861","unresolved":false,"context_lines":[{"line_number":41,"context_line":"on an Openstack cluster in order to optimize it in regards of one or several"},{"line_number":42,"context_line":"goals. An `Audit`_ is an optimization request but in case of AUTO_TRIGGER,"},{"line_number":43,"context_line":"when system founds AUTO_TRIGGER\u003dTrue in the auto, it will execute action"},{"line_number":44,"context_line":"plans automatically at certain time."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  - AUTO_TRIGGER \t: the audits will be executed automatically."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_948e56ce","line":44,"range":{"start_line":44,"start_character":20,"end_line":44,"end_character":36},"updated":"2016-09-07 12:38:03.000000000","message":"does it means right after the audit is completed or we can configure a time to wait before running the action plan ?","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"c14bd4cb8b05baa3b9da5ba81bd319cadb6b0b8e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"when system founds AUTO_TRIGGER\u003dTrue in the auto, it will execute action"},{"line_number":44,"context_line":"plans automatically at certain time."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  - AUTO_TRIGGER \t: the audits will be executed automatically."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"We propose to use the `APScheduler`_ library to schedule the audits."},{"line_number":49,"context_line":"Note: This library is already in the Openstack global requirements."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_c77044df","line":46,"range":{"start_line":46,"start_character":17,"end_line":46,"end_character":18},"updated":"2016-09-07 10:33:32.000000000","message":"nit: please do not use tabs, use 4 spaces instead","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"c14bd4cb8b05baa3b9da5ba81bd319cadb6b0b8e","unresolved":false,"context_lines":[{"line_number":52,"context_line":"a specific interval. The scheduler which seems to match well our requirements"},{"line_number":53,"context_line":"is the BackgroundScheduler."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The DecisionEngineManager logic will be implemented at"},{"line_number":56,"context_line":"watcher/decision_engine/audit/auto.py file which will contain"},{"line_number":57,"context_line":"ContinuousAuditHandler class."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The AutoAuditHandler class will contain the BackgroundScheduler but also"},{"line_number":60,"context_line":"the logic for managing the auto_trigger audits."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_9965b4b6","line":57,"range":{"start_line":55,"start_character":0,"end_line":57,"end_character":29},"updated":"2016-09-07 10:33:32.000000000","message":"auto-triggering isn\u0027t a new type of audit: both ONESHOT and CONTINUOUS audits should be able to auto-trigger their resulting action plans. So the code should hence be in watcher/decision_engine/audit/base.py","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"c14bd4cb8b05baa3b9da5ba81bd319cadb6b0b8e","unresolved":false,"context_lines":[{"line_number":57,"context_line":"ContinuousAuditHandler class."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The AutoAuditHandler class will contain the BackgroundScheduler but also"},{"line_number":60,"context_line":"the logic for managing the auto_trigger audits."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"We can easily add new audits or remove old ones on the fly with"},{"line_number":63,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_5916ccf1","line":60,"range":{"start_line":60,"start_character":27,"end_line":60,"end_character":39},"updated":"2016-09-07 10:33:32.000000000","message":"Your auto_trigger attribute is confusing because we don\u0027t know if you are referring the the auto-triggering of the audit itself or if you are talking about the auto-triggering of its resulting action plan.\n\nSo I would rename it as auto_trigger_action_plan to be fully explicit","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"dd16a56d8f3410b1f855e88fae9645d2c82df861","unresolved":false,"context_lines":[{"line_number":57,"context_line":"ContinuousAuditHandler class."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The AutoAuditHandler class will contain the BackgroundScheduler but also"},{"line_number":60,"context_line":"the logic for managing the auto_trigger audits."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"We can easily add new audits or remove old ones on the fly with"},{"line_number":63,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_ffadbb84","line":60,"range":{"start_line":60,"start_character":27,"end_line":60,"end_character":39},"in_reply_to":"9a89bdaa_5916ccf1","updated":"2016-09-07 12:38:03.000000000","message":"+1","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"dd16a56d8f3410b1f855e88fae9645d2c82df861","unresolved":false,"context_lines":[{"line_number":60,"context_line":"the logic for managing the auto_trigger audits."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"We can easily add new audits or remove old ones on the fly with"},{"line_number":63,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"},{"line_number":64,"context_line":"automatically added by the decision_engine during start."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Then, the AutoAuditHandler will manage the audits in an even driven"},{"line_number":67,"context_line":"fashion. In order to do that, we need to introduce field named auto_trigger"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_1f389f3c","line":64,"range":{"start_line":63,"start_character":21,"end_line":64,"end_character":56},"updated":"2016-09-07 12:38:03.000000000","message":"I don\u0027t think there is anything specific here related to \"automatic action plan\". Its just the way the decision engine is working.","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"e0ed78bccf0cb25d6745cb0552f8b92574654e34","unresolved":false,"context_lines":[{"line_number":60,"context_line":"the logic for managing the auto_trigger audits."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"We can easily add new audits or remove old ones on the fly with"},{"line_number":63,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"},{"line_number":64,"context_line":"automatically added by the decision_engine during start."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Then, the AutoAuditHandler will manage the audits in an even driven"},{"line_number":67,"context_line":"fashion. In order to do that, we need to introduce field named auto_trigger"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a8ec9b2_64550c1c","line":64,"range":{"start_line":63,"start_character":21,"end_line":64,"end_character":56},"in_reply_to":"9a89bdaa_1f389f3c","updated":"2016-09-20 09:10:58.000000000","message":"Yes, in the next patch. I have added the appropriate approach. This is removed from the next patch.","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"c14bd4cb8b05baa3b9da5ba81bd319cadb6b0b8e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"},{"line_number":64,"context_line":"automatically added by the decision_engine during start."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Then, the AutoAuditHandler will manage the audits in an even driven"},{"line_number":67,"context_line":"fashion. In order to do that, we need to introduce field named auto_trigger"},{"line_number":68,"context_line":"attributes at the audit API and also we should then modify the \u0027post\u0027, \u0027patch\u0027"},{"line_number":69,"context_line":"and \u0027delete\u0027 methods in the `API source file`_ for sending immediate"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_4a9274f7","line":66,"range":{"start_line":66,"start_character":56,"end_line":66,"end_character":60},"updated":"2016-09-07 10:33:32.000000000","message":"s/even/event","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"e0ed78bccf0cb25d6745cb0552f8b92574654e34","unresolved":false,"context_lines":[{"line_number":63,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"},{"line_number":64,"context_line":"automatically added by the decision_engine during start."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Then, the AutoAuditHandler will manage the audits in an even driven"},{"line_number":67,"context_line":"fashion. In order to do that, we need to introduce field named auto_trigger"},{"line_number":68,"context_line":"attributes at the audit API and also we should then modify the \u0027post\u0027, \u0027patch\u0027"},{"line_number":69,"context_line":"and \u0027delete\u0027 methods in the `API source file`_ for sending immediate"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a8ec9b2_a43554f8","line":66,"range":{"start_line":66,"start_character":56,"end_line":66,"end_character":60},"in_reply_to":"9a89bdaa_4a9274f7","updated":"2016-09-20 09:10:58.000000000","message":"Done","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"c14bd4cb8b05baa3b9da5ba81bd319cadb6b0b8e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"},{"line_number":64,"context_line":"automatically added by the decision_engine during start."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Then, the AutoAuditHandler will manage the audits in an even driven"},{"line_number":67,"context_line":"fashion. In order to do that, we need to introduce field named auto_trigger"},{"line_number":68,"context_line":"attributes at the audit API and also we should then modify the \u0027post\u0027, \u0027patch\u0027"},{"line_number":69,"context_line":"and \u0027delete\u0027 methods in the `API source file`_ for sending immediate"},{"line_number":70,"context_line":"notification messages."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_a33ecb89","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":9},"updated":"2016-09-07 10:33:32.000000000","message":"IMHO, the RPC approach seems simpler in this case (see https://github.com/openstack/watcher/blob/master/watcher/api/controllers/v1/action_plan.py#L563-L566)\n\nIf so, we wouldn\u0027t need any background scheduler at all, which is a big plus.","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"e0ed78bccf0cb25d6745cb0552f8b92574654e34","unresolved":false,"context_lines":[{"line_number":63,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"},{"line_number":64,"context_line":"automatically added by the decision_engine during start."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Then, the AutoAuditHandler will manage the audits in an even driven"},{"line_number":67,"context_line":"fashion. In order to do that, we need to introduce field named auto_trigger"},{"line_number":68,"context_line":"attributes at the audit API and also we should then modify the \u0027post\u0027, \u0027patch\u0027"},{"line_number":69,"context_line":"and \u0027delete\u0027 methods in the `API source file`_ for sending immediate"},{"line_number":70,"context_line":"notification messages."}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a8ec9b2_7ffe7906","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":9},"in_reply_to":"9a89bdaa_7f744b35","updated":"2016-09-20 09:10:58.000000000","message":"Done","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"dd16a56d8f3410b1f855e88fae9645d2c82df861","unresolved":false,"context_lines":[{"line_number":63,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"},{"line_number":64,"context_line":"automatically added by the decision_engine during start."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Then, the AutoAuditHandler will manage the audits in an even driven"},{"line_number":67,"context_line":"fashion. In order to do that, we need to introduce field named auto_trigger"},{"line_number":68,"context_line":"attributes at the audit API and also we should then modify the \u0027post\u0027, \u0027patch\u0027"},{"line_number":69,"context_line":"and \u0027delete\u0027 methods in the `API source file`_ for sending immediate"},{"line_number":70,"context_line":"notification messages."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_7f744b35","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":9},"in_reply_to":"9a89bdaa_a33ecb89","updated":"2016-09-07 12:38:03.000000000","message":"+1 I think the background scheduler is definitely not needed in this case","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"e0ed78bccf0cb25d6745cb0552f8b92574654e34","unresolved":false,"context_lines":[{"line_number":63,"context_line":"BackgroundScheduler. So, the existing AUTO audits should be"},{"line_number":64,"context_line":"automatically added by the decision_engine during start."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Then, the AutoAuditHandler will manage the audits in an even driven"},{"line_number":67,"context_line":"fashion. In order to do that, we need to introduce field named auto_trigger"},{"line_number":68,"context_line":"attributes at the audit API and also we should then modify the \u0027post\u0027, \u0027patch\u0027"},{"line_number":69,"context_line":"and \u0027delete\u0027 methods in the `API source file`_ for sending immediate"},{"line_number":70,"context_line":"notification messages."}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a8ec9b2_44065021","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":9},"in_reply_to":"9a89bdaa_a33ecb89","updated":"2016-09-20 09:10:58.000000000","message":"Yes, I have updated the next patch using RPC approach only to trigger action plans.","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"c14bd4cb8b05baa3b9da5ba81bd319cadb6b0b8e","unresolved":false,"context_lines":[{"line_number":155,"context_line":"generated action plans (and actions) with same Audit Template become obsolete"},{"line_number":156,"context_line":"and therefore their state should be changed to CANCELLED."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Alternatives"},{"line_number":160,"context_line":"------------"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a89bdaa_3ef1ee95","line":158,"updated":"2016-09-07 10:33:32.000000000","message":"How do you handle the case where you have more than 1 action plan being executing at the same time?\n\nIMHO, the Applier should have a way of checking if all the actions included in an action plan are feasible before executing it.\n\nWhat if 2 concurrent action plans intend to work on the same resources (same resource_id field)? Should they both be allowed to go on? Or should the second one be queued to avoid any issue? Or maybe should we consider the second action plan as invalid?\n\nOverall, we have to be **very** cautious on automatic triggering of action plans because we may cause some unwanted damage as a result.","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"e0ed78bccf0cb25d6745cb0552f8b92574654e34","unresolved":false,"context_lines":[{"line_number":155,"context_line":"generated action plans (and actions) with same Audit Template become obsolete"},{"line_number":156,"context_line":"and therefore their state should be changed to CANCELLED."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Alternatives"},{"line_number":160,"context_line":"------------"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a8ec9b2_5f48dd5b","line":158,"in_reply_to":"9a89bdaa_3ef1ee95","updated":"2016-09-20 09:10:58.000000000","message":"Thanks for your comment. I have made the corrections in the next patch.","commit_id":"6c2415ab464929fcbf24f647c69a87b7c72857d0"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"220d465495c820ff4a19071ce28119ecb98a9196","unresolved":false,"context_lines":[{"line_number":43,"context_line":"when system founds AUTO_TRIGGER\u003dTrue in the auto, it will execute action"},{"line_number":44,"context_line":"plans automatically at certain time."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  - AUTO_TRIGGER \t: the audits will be executed automatically."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"We propose to use the `APScheduler`_ library to schedule the audits."},{"line_number":49,"context_line":"Note: This library is already in the Openstack global requirements."}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a8ec9b2_4e62f4ae","line":46,"range":{"start_line":46,"start_character":16,"end_line":46,"end_character":18},"updated":"2016-09-20 07:30:24.000000000","message":"nit: can you replace this tab with spaces?","commit_id":"251f23e10e744dd32e38f070b502830d0efe8f67"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"4dd0aea27fb51bb5de69af81d54d74f9f1f2f601","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Project Priority"},{"line_number":34,"context_line":"----------------"},{"line_number":35,"context_line":"Medium for Ocata-1"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a8ec9b2_3fa57546","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":18},"updated":"2016-09-21 13:58:37.000000000","message":"Instead of specifying the priority here, leave it as N/A since the priority is handled at the launchpad level.","commit_id":"33b11dc1bc9b5e0fff36a495aaa498a8c503872d"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"4dd0aea27fb51bb5de69af81d54d74f9f1f2f601","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":"The watcher system enables a privatei/public cloud administrator to launch `Audit`_"},{"line_number":41,"context_line":"on an Openstack cluster in order to optimize it in regards of one or several"},{"line_number":42,"context_line":"goals."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a8ec9b2_7fa7fdbc","line":40,"range":{"start_line":40,"start_character":36,"end_line":40,"end_character":37},"updated":"2016-09-21 13:58:37.000000000","message":"typo","commit_id":"33b11dc1bc9b5e0fff36a495aaa498a8c503872d"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"4dd0aea27fb51bb5de69af81d54d74f9f1f2f601","unresolved":false,"context_lines":[{"line_number":54,"context_line":"The AutoTriggerActionPlan class will contain all the logic related to trigger"},{"line_number":55,"context_line":"the action plan for the AUDIT. To trigger the action plan from"},{"line_number":56,"context_line":"AutoTriggerActionPlan, we will use RPC call launch_action_plan."},{"line_number":57,"context_line":"I think we dont require schedular for this."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Alternatives"},{"line_number":60,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a8ec9b2_7f18ddd3","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":43},"updated":"2016-09-21 13:58:37.000000000","message":"the scheduler/notification-based approach can be moved into the \u0027alternatives\u0027 section.","commit_id":"33b11dc1bc9b5e0fff36a495aaa498a8c503872d"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"4dd0aea27fb51bb5de69af81d54d74f9f1f2f601","unresolved":false,"context_lines":[{"line_number":55,"context_line":"the action plan for the AUDIT. To trigger the action plan from"},{"line_number":56,"context_line":"AutoTriggerActionPlan, we will use RPC call launch_action_plan."},{"line_number":57,"context_line":"I think we dont require schedular for this."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Alternatives"},{"line_number":60,"context_line":"------------"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a8ec9b2_5f908143","line":58,"updated":"2016-09-21 13:58:37.000000000","message":"How do plan on making sure there only one action plan that is executed at a time?","commit_id":"33b11dc1bc9b5e0fff36a495aaa498a8c503872d"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"4dd0aea27fb51bb5de69af81d54d74f9f1f2f601","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Alternatives"},{"line_number":60,"context_line":"------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* To use a cronjob for audit which auomatically triggers the action."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Data model impact"},{"line_number":65,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a8ec9b2_3f1bb5cb","line":62,"range":{"start_line":62,"start_character":35,"end_line":62,"end_character":47},"updated":"2016-09-21 13:58:37.000000000","message":"s/auomatically/automatically","commit_id":"33b11dc1bc9b5e0fff36a495aaa498a8c503872d"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Problem description"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This blueprint goes beyond the \"continuously-optimization\" blueprint [1] by"},{"line_number":12,"context_line":"applying automatically the Action Plans."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_08b70a3a","line":11,"range":{"start_line":11,"start_character":69,"end_line":11,"end_character":72},"updated":"2016-10-05 09:26:54.000000000","message":"missing reference","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Problem description"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This blueprint goes beyond the \"continuously-optimization\" blueprint [1] by"},{"line_number":12,"context_line":"applying automatically the Action Plans."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_6141890b","line":11,"range":{"start_line":11,"start_character":69,"end_line":11,"end_character":72},"in_reply_to":"1a95cdbc_08b70a3a","updated":"2016-10-05 10:13:14.000000000","message":"will add it.","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This blueprint goes beyond the \"continuously-optimization\" blueprint [1] by"},{"line_number":12,"context_line":"applying automatically the Action Plans."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific"},{"line_number":15,"context_line":"strategies or goals. Watcher can periodically trigger some Audits which"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_48ee7223","line":12,"range":{"start_line":12,"start_character":27,"end_line":12,"end_character":39},"updated":"2016-10-05 09:26:54.000000000","message":"missing ref","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This blueprint goes beyond the \"continuously-optimization\" blueprint [1] by"},{"line_number":12,"context_line":"applying automatically the Action Plans."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific"},{"line_number":15,"context_line":"strategies or goals. Watcher can periodically trigger some Audits which"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_4163adb1","line":12,"range":{"start_line":12,"start_character":27,"end_line":12,"end_character":39},"in_reply_to":"1a95cdbc_48ee7223","updated":"2016-10-05 10:13:14.000000000","message":"Done","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":12,"context_line":"applying automatically the Action Plans."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific"},{"line_number":15,"context_line":"strategies or goals. Watcher can periodically trigger some Audits which"},{"line_number":16,"context_line":"generates Action Plans."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Unfortunately, in the current implementation the Administrator have to launch"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_a8dd3672","line":15,"range":{"start_line":15,"start_character":59,"end_line":15,"end_character":65},"updated":"2016-10-05 09:26:54.000000000","message":"missing ref","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":12,"context_line":"applying automatically the Action Plans."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific"},{"line_number":15,"context_line":"strategies or goals. Watcher can periodically trigger some Audits which"},{"line_number":16,"context_line":"generates Action Plans."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Unfortunately, in the current implementation the Administrator have to launch"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_815db5eb","line":15,"range":{"start_line":15,"start_character":59,"end_line":15,"end_character":65},"in_reply_to":"1a95cdbc_a8dd3672","updated":"2016-10-05 10:13:14.000000000","message":"Done","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":9392,"name":"Prashanth Hari","email":"hvprash@gmail.com","username":"hvprash"},"change_message_id":"ac9bebdecc4253cb4b737c5115e1dce21a6655cf","unresolved":false,"context_lines":[{"line_number":25,"context_line":"---------"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"As administrator, telling audit to trigger the action plan everytime is a"},{"line_number":28,"context_line":"a headache to the administator, so here we are implementing automatic"},{"line_number":29,"context_line":"triggering functionality in audit which triggers the action plans."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_5978ebc4","line":29,"range":{"start_line":28,"start_character":47,"end_line":29,"end_character":66},"updated":"2016-10-05 16:30:54.000000000","message":"Agree, this use case is really valuable. But it should be on a per project basis to avoid any disruptions.","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"62b02896f7ef67767aee8059d9ecafec7b80a506","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Project Priority"},{"line_number":33,"context_line":"----------------"},{"line_number":34,"context_line":"Medium for Ocata-1"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_966d0b35","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":6},"updated":"2016-10-04 21:36:41.000000000","message":"I would change it to the High priority since this feature is really needed in production (Servionica requires it ASAP, for example). BTW I will discuss it with the watcher team.","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Project Priority"},{"line_number":33,"context_line":"----------------"},{"line_number":34,"context_line":"Medium for Ocata-1"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_410acdd3","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":6},"in_reply_to":"1a95cdbc_966d0b35","updated":"2016-10-05 10:13:14.000000000","message":"Done","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6be309946f8e526744bff6840e6c0544f47059d8","unresolved":false,"context_lines":[{"line_number":40,"context_line":"on an Openstack cluster in order to optimize it in regards of one or several"},{"line_number":41,"context_line":"goals."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"we need to introduce new attribute in the AUDIT,"},{"line_number":44,"context_line":" - AUTO_TRIGGER_ACTION_PLAN - To execute the action plans for the AUDIT."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"An `Audit`_ is an optimization request but in case of"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_0231baa2","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":2},"updated":"2016-10-04 21:28:41.000000000","message":"s/we/We","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":40,"context_line":"on an Openstack cluster in order to optimize it in regards of one or several"},{"line_number":41,"context_line":"goals."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"we need to introduce new attribute in the AUDIT,"},{"line_number":44,"context_line":" - AUTO_TRIGGER_ACTION_PLAN - To execute the action plans for the AUDIT."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"An `Audit`_ is an optimization request but in case of"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_610fc9e1","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":2},"in_reply_to":"1a95cdbc_0231baa2","updated":"2016-10-05 10:13:14.000000000","message":"Done","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6be309946f8e526744bff6840e6c0544f47059d8","unresolved":false,"context_lines":[{"line_number":41,"context_line":"goals."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"we need to introduce new attribute in the AUDIT,"},{"line_number":44,"context_line":" - AUTO_TRIGGER_ACTION_PLAN - To execute the action plans for the AUDIT."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"An `Audit`_ is an optimization request but in case of"},{"line_number":47,"context_line":"AUTO_TRIGGER_ACTION_PLAN, when system founds AUTO_TRIGGER_ACTION_PLAN\u003dTrue"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_c21d12bf","line":44,"range":{"start_line":44,"start_character":30,"end_line":44,"end_character":71},"updated":"2016-10-04 21:28:41.000000000","message":"You should answer why we need to introduce it. Where is the difference between auto trigger audit and classic (manual trigger) audit?","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":41,"context_line":"goals."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"we need to introduce new attribute in the AUDIT,"},{"line_number":44,"context_line":" - AUTO_TRIGGER_ACTION_PLAN - To execute the action plans for the AUDIT."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"An `Audit`_ is an optimization request but in case of"},{"line_number":47,"context_line":"AUTO_TRIGGER_ACTION_PLAN, when system founds AUTO_TRIGGER_ACTION_PLAN\u003dTrue"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_81b935ec","line":44,"range":{"start_line":44,"start_character":30,"end_line":44,"end_character":71},"in_reply_to":"1a95cdbc_c21d12bf","updated":"2016-10-05 10:13:14.000000000","message":"In the manual trigger, you have run action plan manually for audits, in case of this features, when user submits audit with AUTO_TRIGGER_ACTION_PLAN\u003dTrue, then action plan for that audit will get executed automatically.","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6be309946f8e526744bff6840e6c0544f47059d8","unresolved":false,"context_lines":[{"line_number":44,"context_line":" - AUTO_TRIGGER_ACTION_PLAN - To execute the action plans for the AUDIT."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"An `Audit`_ is an optimization request but in case of"},{"line_number":47,"context_line":"AUTO_TRIGGER_ACTION_PLAN, when system founds AUTO_TRIGGER_ACTION_PLAN\u003dTrue"},{"line_number":48,"context_line":"in the AUDIT, then it triggers the action plan for that AUDIT."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"The AutoTriggerActionPlan logic will be implemented under the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_c269928d","line":47,"range":{"start_line":47,"start_character":38,"end_line":47,"end_character":44},"updated":"2016-10-04 21:28:41.000000000","message":"s/founds/finds","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"An `Audit`_ is an optimization request but in case of"},{"line_number":47,"context_line":"AUTO_TRIGGER_ACTION_PLAN, when system founds AUTO_TRIGGER_ACTION_PLAN\u003dTrue"},{"line_number":48,"context_line":"in the AUDIT, then it triggers the action plan for that AUDIT."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"The AutoTriggerActionPlan logic will be implemented under the"},{"line_number":51,"context_line":"watcher/decision_engine/auto/base.py."}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_e86c9e9e","line":48,"range":{"start_line":48,"start_character":56,"end_line":48,"end_character":61},"updated":"2016-10-05 09:26:54.000000000","message":"s/AUDIT/audit","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"An `Audit`_ is an optimization request but in case of"},{"line_number":47,"context_line":"AUTO_TRIGGER_ACTION_PLAN, when system founds AUTO_TRIGGER_ACTION_PLAN\u003dTrue"},{"line_number":48,"context_line":"in the AUDIT, then it triggers the action plan for that AUDIT."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"The AutoTriggerActionPlan logic will be implemented under the"},{"line_number":51,"context_line":"watcher/decision_engine/auto/base.py."}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_01c60567","line":48,"range":{"start_line":48,"start_character":56,"end_line":48,"end_character":61},"in_reply_to":"1a95cdbc_e86c9e9e","updated":"2016-10-05 10:13:14.000000000","message":"Done","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6be309946f8e526744bff6840e6c0544f47059d8","unresolved":false,"context_lines":[{"line_number":48,"context_line":"in the AUDIT, then it triggers the action plan for that AUDIT."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"The AutoTriggerActionPlan logic will be implemented under the"},{"line_number":51,"context_line":"watcher/decision_engine/auto/base.py."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The AutoTriggerActionPlan class will contain all the logic related to trigger"},{"line_number":54,"context_line":"the action plan for the AUDIT. To trigger the action plan from"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_02cc5a34","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":36},"updated":"2016-10-04 21:28:41.000000000","message":"I\u0027m not sure that it\u0027s a good idea to create new subfolder named auto. We can place new logic in existing folders/files.","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":48,"context_line":"in the AUDIT, then it triggers the action plan for that AUDIT."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"The AutoTriggerActionPlan logic will be implemented under the"},{"line_number":51,"context_line":"watcher/decision_engine/auto/base.py."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The AutoTriggerActionPlan class will contain all the logic related to trigger"},{"line_number":54,"context_line":"the action plan for the AUDIT. To trigger the action plan from"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_480af2d3","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":36},"in_reply_to":"1a95cdbc_02cc5a34","updated":"2016-10-05 09:26:54.000000000","message":"+1","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":48,"context_line":"in the AUDIT, then it triggers the action plan for that AUDIT."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"The AutoTriggerActionPlan logic will be implemented under the"},{"line_number":51,"context_line":"watcher/decision_engine/auto/base.py."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The AutoTriggerActionPlan class will contain all the logic related to trigger"},{"line_number":54,"context_line":"the action plan for the AUDIT. To trigger the action plan from"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_01744533","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":36},"in_reply_to":"1a95cdbc_480af2d3","updated":"2016-10-05 10:13:14.000000000","message":"Agreed, I forgot to add that, but it should go under watcher/decision_engine/base.py","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":51,"context_line":"watcher/decision_engine/auto/base.py."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The AutoTriggerActionPlan class will contain all the logic related to trigger"},{"line_number":54,"context_line":"the action plan for the AUDIT. To trigger the action plan from"},{"line_number":55,"context_line":"AutoTriggerActionPlan, we will use RPC call launch_action_plan."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"At the a Applier level, currently only one action plan will execute, if new"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_0801caae","line":54,"range":{"start_line":54,"start_character":24,"end_line":54,"end_character":29},"updated":"2016-10-05 09:26:54.000000000","message":"s/AUDIT/audit","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":51,"context_line":"watcher/decision_engine/auto/base.py."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The AutoTriggerActionPlan class will contain all the logic related to trigger"},{"line_number":54,"context_line":"the action plan for the AUDIT. To trigger the action plan from"},{"line_number":55,"context_line":"AutoTriggerActionPlan, we will use RPC call launch_action_plan."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"At the a Applier level, currently only one action plan will execute, if new"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_218f8124","line":54,"range":{"start_line":54,"start_character":24,"end_line":54,"end_character":29},"in_reply_to":"1a95cdbc_0801caae","updated":"2016-10-05 10:13:14.000000000","message":"Done","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":54,"context_line":"the action plan for the AUDIT. To trigger the action plan from"},{"line_number":55,"context_line":"AutoTriggerActionPlan, we will use RPC call launch_action_plan."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"At the a Applier level, currently only one action plan will execute, if new"},{"line_number":58,"context_line":"action_plan is proposed while executing current action_plan, we should"},{"line_number":59,"context_line":"maintain wait queue so as and when running action_plan completes, new"},{"line_number":60,"context_line":"action_plan will be taken from the queue \u0026 will get executed."}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_c81d2211","line":57,"range":{"start_line":57,"start_character":9,"end_line":57,"end_character":16},"updated":"2016-10-05 09:26:54.000000000","message":"missing ref","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"the action plan for the AUDIT. To trigger the action plan from"},{"line_number":55,"context_line":"AutoTriggerActionPlan, we will use RPC call launch_action_plan."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"At the a Applier level, currently only one action plan will execute, if new"},{"line_number":58,"context_line":"action_plan is proposed while executing current action_plan, we should"},{"line_number":59,"context_line":"maintain wait queue so as and when running action_plan completes, new"},{"line_number":60,"context_line":"action_plan will be taken from the queue \u0026 will get executed."}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_01ab6575","line":57,"range":{"start_line":57,"start_character":9,"end_line":57,"end_character":16},"in_reply_to":"1a95cdbc_c81d2211","updated":"2016-10-05 10:13:14.000000000","message":"Done","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6be309946f8e526744bff6840e6c0544f47059d8","unresolved":false,"context_lines":[{"line_number":55,"context_line":"AutoTriggerActionPlan, we will use RPC call launch_action_plan."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"At the a Applier level, currently only one action plan will execute, if new"},{"line_number":58,"context_line":"action_plan is proposed while executing current action_plan, we should"},{"line_number":59,"context_line":"maintain wait queue so as and when running action_plan completes, new"},{"line_number":60,"context_line":"action_plan will be taken from the queue \u0026 will get executed."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_16265bba","line":59,"range":{"start_line":58,"start_character":61,"end_line":59,"end_character":19},"updated":"2016-10-04 21:28:41.000000000","message":"How do you plan to implement this queue? By using some already existing libraries or creating own logic? Do you plan to sync queue items to DB? Need more info here.","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":55,"context_line":"AutoTriggerActionPlan, we will use RPC call launch_action_plan."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"At the a Applier level, currently only one action plan will execute, if new"},{"line_number":58,"context_line":"action_plan is proposed while executing current action_plan, we should"},{"line_number":59,"context_line":"maintain wait queue so as and when running action_plan completes, new"},{"line_number":60,"context_line":"action_plan will be taken from the queue \u0026 will get executed."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_48bf52d0","line":59,"range":{"start_line":58,"start_character":61,"end_line":59,"end_character":19},"in_reply_to":"1a95cdbc_16265bba","updated":"2016-10-05 09:26:54.000000000","message":"+1","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":55,"context_line":"AutoTriggerActionPlan, we will use RPC call launch_action_plan."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"At the a Applier level, currently only one action plan will execute, if new"},{"line_number":58,"context_line":"action_plan is proposed while executing current action_plan, we should"},{"line_number":59,"context_line":"maintain wait queue so as and when running action_plan completes, new"},{"line_number":60,"context_line":"action_plan will be taken from the queue \u0026 will get executed."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_a1547154","line":59,"range":{"start_line":58,"start_character":61,"end_line":59,"end_character":19},"in_reply_to":"1a95cdbc_16265bba","updated":"2016-10-05 10:13:14.000000000","message":"My idea is to maintain a in memory queue FIFO but as per the Acabots suggestion, we should get rid of this, we should cancel the new action plan so no need to maintain a action plan queue for now because in the first step we target to run one action plan at a time.","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":57,"context_line":"At the a Applier level, currently only one action plan will execute, if new"},{"line_number":58,"context_line":"action_plan is proposed while executing current action_plan, we should"},{"line_number":59,"context_line":"maintain wait queue so as and when running action_plan completes, new"},{"line_number":60,"context_line":"action_plan will be taken from the queue \u0026 will get executed."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_88031a73","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":61},"updated":"2016-10-05 09:26:54.000000000","message":"if your action plan has been determined before the execution of the previous action plan, it is probably stale so you shouldn\u0027t run it. To simplify this case I would suggest that if you have an action plan running when the trigger wants to run a new action plan, you cancel it.","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":57,"context_line":"At the a Applier level, currently only one action plan will execute, if new"},{"line_number":58,"context_line":"action_plan is proposed while executing current action_plan, we should"},{"line_number":59,"context_line":"maintain wait queue so as and when running action_plan completes, new"},{"line_number":60,"context_line":"action_plan will be taken from the queue \u0026 will get executed."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_c1517d64","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":61},"in_reply_to":"1a95cdbc_88031a73","updated":"2016-10-05 10:13:14.000000000","message":"agreed","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"6be309946f8e526744bff6840e6c0544f47059d8","unresolved":false,"context_lines":[{"line_number":67,"context_line":"Data model impact"},{"line_number":68,"context_line":"-----------------"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"None expected"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"REST API impact"},{"line_number":73,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_36799794","line":70,"range":{"start_line":70,"start_character":0,"end_line":70,"end_character":13},"updated":"2016-10-04 21:28:41.000000000","message":"If you plan to introduce new attribute then you should describe here how it will impact on model.","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":67,"context_line":"Data model impact"},{"line_number":68,"context_line":"-----------------"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"None expected"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"REST API impact"},{"line_number":73,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_48303257","line":70,"range":{"start_line":70,"start_character":0,"end_line":70,"end_character":13},"in_reply_to":"1a95cdbc_36799794","updated":"2016-10-05 09:26:54.000000000","message":"+1","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":67,"context_line":"Data model impact"},{"line_number":68,"context_line":"-----------------"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"None expected"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"REST API impact"},{"line_number":73,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_21c78113","line":70,"range":{"start_line":70,"start_character":0,"end_line":70,"end_character":13},"in_reply_to":"1a95cdbc_36799794","updated":"2016-10-05 10:13:14.000000000","message":"will add it here","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Security impact"},{"line_number":78,"context_line":"---------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"None expected."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Notifications impact"},{"line_number":83,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_a8261614","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":14},"updated":"2016-10-05 09:26:54.000000000","message":"We could have a security impact as the system could start running action plan continuously and seriously damage the stability of the cluster.","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Security impact"},{"line_number":78,"context_line":"---------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"None expected."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Notifications impact"},{"line_number":83,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_41cc8d35","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":14},"in_reply_to":"1a95cdbc_a8261614","updated":"2016-10-05 10:13:14.000000000","message":"Sure","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":121,"context_line":"Part 1"},{"line_number":122,"context_line":"^^^^^^"},{"line_number":123,"context_line":"* Implement AutoTriggerActionPlanHandler class."},{"line_number":124,"context_line":"* Adapt API to support auto_trigger_action_plan field which boolean."},{"line_number":125,"context_line":"* Make some changes to python-watcherclient to add support for auto_trigger"},{"line_number":126,"context_line":"  argument."},{"line_number":127,"context_line":"* Add changes to watcher-dashboard to support AUTO_TRIGGER_ACTION_PLAN type."}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_48659243","line":124,"range":{"start_line":124,"start_character":54,"end_line":124,"end_character":68},"updated":"2016-10-05 09:26:54.000000000","message":"s/which/as","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":121,"context_line":"Part 1"},{"line_number":122,"context_line":"^^^^^^"},{"line_number":123,"context_line":"* Implement AutoTriggerActionPlanHandler class."},{"line_number":124,"context_line":"* Adapt API to support auto_trigger_action_plan field which boolean."},{"line_number":125,"context_line":"* Make some changes to python-watcherclient to add support for auto_trigger"},{"line_number":126,"context_line":"  argument."},{"line_number":127,"context_line":"* Add changes to watcher-dashboard to support AUTO_TRIGGER_ACTION_PLAN type."}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_c1d89df2","line":124,"range":{"start_line":124,"start_character":54,"end_line":124,"end_character":68},"in_reply_to":"1a95cdbc_48659243","updated":"2016-10-05 10:13:14.000000000","message":"Done","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":122,"context_line":"^^^^^^"},{"line_number":123,"context_line":"* Implement AutoTriggerActionPlanHandler class."},{"line_number":124,"context_line":"* Adapt API to support auto_trigger_action_plan field which boolean."},{"line_number":125,"context_line":"* Make some changes to python-watcherclient to add support for auto_trigger"},{"line_number":126,"context_line":"  argument."},{"line_number":127,"context_line":"* Add changes to watcher-dashboard to support AUTO_TRIGGER_ACTION_PLAN type."},{"line_number":128,"context_line":"* Implement appropriate unit tests to test various scenarios."}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_c851a264","line":125,"range":{"start_line":125,"start_character":7,"end_line":125,"end_character":19},"updated":"2016-10-05 09:26:54.000000000","message":"could you please be more specific about those changes ?","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":122,"context_line":"^^^^^^"},{"line_number":123,"context_line":"* Implement AutoTriggerActionPlanHandler class."},{"line_number":124,"context_line":"* Adapt API to support auto_trigger_action_plan field which boolean."},{"line_number":125,"context_line":"* Make some changes to python-watcherclient to add support for auto_trigger"},{"line_number":126,"context_line":"  argument."},{"line_number":127,"context_line":"* Add changes to watcher-dashboard to support AUTO_TRIGGER_ACTION_PLAN type."},{"line_number":128,"context_line":"* Implement appropriate unit tests to test various scenarios."}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_e1e599a8","line":125,"range":{"start_line":125,"start_character":7,"end_line":125,"end_character":19},"in_reply_to":"1a95cdbc_c851a264","updated":"2016-10-05 10:13:14.000000000","message":"Sure","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":124,"context_line":"* Adapt API to support auto_trigger_action_plan field which boolean."},{"line_number":125,"context_line":"* Make some changes to python-watcherclient to add support for auto_trigger"},{"line_number":126,"context_line":"  argument."},{"line_number":127,"context_line":"* Add changes to watcher-dashboard to support AUTO_TRIGGER_ACTION_PLAN type."},{"line_number":128,"context_line":"* Implement appropriate unit tests to test various scenarios."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_48ccb235","line":127,"range":{"start_line":127,"start_character":6,"end_line":127,"end_character":13},"updated":"2016-10-05 09:26:54.000000000","message":"again, would you add a checkbox in the audit template UI ?","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"68da60ffb97f7270f79d73d021b2713f34d66de8","unresolved":false,"context_lines":[{"line_number":124,"context_line":"* Adapt API to support auto_trigger_action_plan field which boolean."},{"line_number":125,"context_line":"* Make some changes to python-watcherclient to add support for auto_trigger"},{"line_number":126,"context_line":"  argument."},{"line_number":127,"context_line":"* Add changes to watcher-dashboard to support AUTO_TRIGGER_ACTION_PLAN type."},{"line_number":128,"context_line":"* Implement appropriate unit tests to test various scenarios."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_61b6e98b","line":127,"range":{"start_line":127,"start_character":6,"end_line":127,"end_character":13},"in_reply_to":"1a95cdbc_48ccb235","updated":"2016-10-05 10:13:14.000000000","message":"Yes, as we have boolean attr so better to add checkbox in the audit template","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"066be4df6c4b15d0ffec4168e061ab68c1ed1234","unresolved":false,"context_lines":[{"line_number":153,"context_line":"No history."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":".. _APScheduler: https://github.com/agronholm/apscheduler"},{"line_number":156,"context_line":".. _Strategies: https://factory.b-com.com/www/watcher/doc/watcher/glossary.html#strategy"},{"line_number":157,"context_line":".. _Administrator: https://factory.b-com.com/www/watcher/doc/watcher/glossary.html#administrator"},{"line_number":158,"context_line":".. _Audit: https://factory.b-com.com/www/watcher/doc/watcher/glossary.html#audit"},{"line_number":159,"context_line":".. _Action Plan: https://factory.b-com.com/www/watcher/doc/watcher/glossary.html#action-plan"},{"line_number":160,"context_line":".. _Cluster: https://factory.b-com.com/www/watcher/doc/watcher/glossary.html#cluster"},{"line_number":161,"context_line":".. _BackgroundScheduler: https://github.com/agronholm/apscheduler/blob/master/examples/schedulers/background.py"},{"line_number":162,"context_line":".. _API source file: https://github.com/openstack/watcher/blob/master/watcher/api/controllers/v1/audit.py"},{"line_number":163,"context_line":".. _watcher-notifications-ovo: https://blueprints.launchpad.net/watcher/+spec/watcher-notifications-ovo"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a95cdbc_e8901e98","line":160,"range":{"start_line":156,"start_character":0,"end_line":160,"end_character":84},"updated":"2016-10-05 09:26:54.000000000","message":"all links to factory.b-com.com are dead links, please use the official doc now on http://docs.openstack.org/developer/watcher/","commit_id":"86c9840860c084d2b1818099a4127fc290acf77a"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a3952bcd0e2e8fb59d1dce760c165f0854455777","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":"The watcher system enables a private/public cloud administrator to launch `Audit`_"},{"line_number":41,"context_line":"on an Openstack cluster in order to optimize it in regards of one or several"},{"line_number":42,"context_line":"goals."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"1a95cdbc_786d8697","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":82},"updated":"2016-10-06 09:00:19.000000000","message":"this line\u0027s is too long","commit_id":"8a8e02934b12dccd419a5a202c1e0c62ad88f287"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"1a1f353ebf0d4554878bbeddee70bb3fe391e3a5","unresolved":false,"context_lines":[{"line_number":49,"context_line":"in the AUDIT, then it triggers the action plan for that audit."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The AutoTriggerActionPlan logic will be implemented under the"},{"line_number":52,"context_line":"watcher/decision_engine/base.py."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The AutoTriggerActionPlan class will contain all the logic related to trigger"},{"line_number":55,"context_line":"the action plan for the audit. To trigger the action plan from"}],"source_content_type":"text/x-rst","patch_set":17,"id":"1a95cdbc_01772aa0","line":52,"range":{"start_line":52,"start_character":0,"end_line":52,"end_character":31},"updated":"2016-10-10 12:56:10.000000000","message":"Are you sure that AutoTriggerActionPlan class should be here? I propose to use watcher/decision_engine/audit/base.py","commit_id":"2d8483b8cf8c644c1dfa39ae8b7134c6e0c0276e"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"10474ce1eae00d2e164bde810b7f1b831917b11e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"in the AUDIT, then it triggers the action plan for that audit."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The AutoTriggerActionPlan logic will be implemented under the"},{"line_number":52,"context_line":"watcher/decision_engine/base.py."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The AutoTriggerActionPlan class will contain all the logic related to trigger"},{"line_number":55,"context_line":"the action plan for the audit. To trigger the action plan from"}],"source_content_type":"text/x-rst","patch_set":17,"id":"1a95cdbc_e94f808f","line":52,"range":{"start_line":52,"start_character":0,"end_line":52,"end_character":31},"in_reply_to":"1a95cdbc_01772aa0","updated":"2016-10-10 14:19:20.000000000","message":"Alex -I was also saying better go with seperate file but you told me not to use auto/base.py \u0026 go with only decision_engine/base.py \n\nNeed your final call","commit_id":"2d8483b8cf8c644c1dfa39ae8b7134c6e0c0276e"},{"author":{"_account_id":19055,"name":"Alexander Chadin","email":"joker946@gmail.com","username":"joker946"},"change_message_id":"7bd24a8c2f11676bb28694c85a3eda550bb6c62c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"in the AUDIT, then it triggers the action plan for that audit."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The AutoTriggerActionPlan logic will be implemented under the"},{"line_number":52,"context_line":"watcher/decision_engine/base.py."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The AutoTriggerActionPlan class will contain all the logic related to trigger"},{"line_number":55,"context_line":"the action plan for the audit. To trigger the action plan from"}],"source_content_type":"text/x-rst","patch_set":17,"id":"1a95cdbc_5c758bc8","line":52,"range":{"start_line":52,"start_character":0,"end_line":52,"end_character":31},"in_reply_to":"1a95cdbc_e94f808f","updated":"2016-10-10 16:14:38.000000000","message":"I proposed to you to place your logic to the existing folders/files, not to decision_engine/base.py (since base.py in decision_engine folder doesn\u0027t exist).","commit_id":"2d8483b8cf8c644c1dfa39ae8b7134c6e0c0276e"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"d78e531b120c54e31df726fc8d07226d58b4d60d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"https://blueprints.launchpad.net/watcher/+spec/continuously-optimization"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific"},{"line_number":16,"context_line":"strategies or goals. Watcher can periodically trigger some Audits which"},{"line_number":17,"context_line":"generates Action Plans."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Unfortunately, in the current implementation the Administrator have to launch"}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_e4f2d805","line":16,"range":{"start_line":16,"start_character":59,"end_line":16,"end_character":65},"updated":"2016-10-19 08:28:01.000000000","message":"missing ref again, please use `Audit`_","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"9edd8a95f703ca03574a67943eaaeb391bb62b74","unresolved":false,"context_lines":[{"line_number":13,"context_line":"https://blueprints.launchpad.net/watcher/+spec/continuously-optimization"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific"},{"line_number":16,"context_line":"strategies or goals. Watcher can periodically trigger some Audits which"},{"line_number":17,"context_line":"generates Action Plans."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Unfortunately, in the current implementation the Administrator have to launch"}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_f329ae38","line":16,"range":{"start_line":16,"start_character":59,"end_line":16,"end_character":65},"in_reply_to":"fa6399be_e4f2d805","updated":"2016-10-19 15:33:52.000000000","message":"I think same reference can be used here like above.\nContinuously-optimization","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"d78e531b120c54e31df726fc8d07226d58b4d60d","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific"},{"line_number":16,"context_line":"strategies or goals. Watcher can periodically trigger some Audits which"},{"line_number":17,"context_line":"generates Action Plans."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Unfortunately, in the current implementation the Administrator have to launch"},{"line_number":20,"context_line":"manually the recommended Action Plan in order to apply it on the real system."}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_e4c9f8ad","line":17,"range":{"start_line":17,"start_character":10,"end_line":17,"end_character":22},"updated":"2016-10-19 08:28:01.000000000","message":"missing ref again, please use `Action Plan_`","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"9edd8a95f703ca03574a67943eaaeb391bb62b74","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Watcher needs to continuously optimize the OpenStack cloud for a specific"},{"line_number":16,"context_line":"strategies or goals. Watcher can periodically trigger some Audits which"},{"line_number":17,"context_line":"generates Action Plans."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Unfortunately, in the current implementation the Administrator have to launch"},{"line_number":20,"context_line":"manually the recommended Action Plan in order to apply it on the real system."}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_d3dd8a43","line":17,"range":{"start_line":17,"start_character":10,"end_line":17,"end_character":22},"in_reply_to":"fa6399be_e4c9f8ad","updated":"2016-10-19 15:33:52.000000000","message":"Done","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"d78e531b120c54e31df726fc8d07226d58b4d60d","unresolved":false,"context_lines":[{"line_number":58,"context_line":"At the a Applier level, currently only one action plan will execute."},{"line_number":59,"context_line":"https://github.com/openstack/watcher/blob/master/watcher/applier/manager.py#L30"},{"line_number":60,"context_line":"If new action_plan is proposed while executing current action_plan, we will be"},{"line_number":61,"context_line":"cancelled by proper message saying \"Already one action_plan is running\"."},{"line_number":62,"context_line":"But in the next phase (Need to submit another spec for ocata-2), we will"},{"line_number":63,"context_line":"maintain wait queue so as and when running action_plan completes,"},{"line_number":64,"context_line":"new action_plan will be taken from the queue and will get executed."}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_84159ce6","line":61,"range":{"start_line":61,"start_character":36,"end_line":61,"end_character":71},"updated":"2016-10-19 08:28:01.000000000","message":"s/Already one action_plan is running\"/ An action plan is currently running","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"d78e531b120c54e31df726fc8d07226d58b4d60d","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"At the a Applier level, currently only one action plan will execute."},{"line_number":59,"context_line":"https://github.com/openstack/watcher/blob/master/watcher/applier/manager.py#L30"},{"line_number":60,"context_line":"If new action_plan is proposed while executing current action_plan, we will be"},{"line_number":61,"context_line":"cancelled by proper message saying \"Already one action_plan is running\"."},{"line_number":62,"context_line":"But in the next phase (Need to submit another spec for ocata-2), we will"},{"line_number":63,"context_line":"maintain wait queue so as and when running action_plan completes,"},{"line_number":64,"context_line":"new action_plan will be taken from the queue and will get executed."}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_24205049","line":61,"range":{"start_line":60,"start_character":68,"end_line":61,"end_character":9},"updated":"2016-10-19 08:28:01.000000000","message":"s/we will be cancelled/we will cancel the new action plan","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"9edd8a95f703ca03574a67943eaaeb391bb62b74","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"At the a Applier level, currently only one action plan will execute."},{"line_number":59,"context_line":"https://github.com/openstack/watcher/blob/master/watcher/applier/manager.py#L30"},{"line_number":60,"context_line":"If new action_plan is proposed while executing current action_plan, we will be"},{"line_number":61,"context_line":"cancelled by proper message saying \"Already one action_plan is running\"."},{"line_number":62,"context_line":"But in the next phase (Need to submit another spec for ocata-2), we will"},{"line_number":63,"context_line":"maintain wait queue so as and when running action_plan completes,"},{"line_number":64,"context_line":"new action_plan will be taken from the queue and will get executed."}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_3308862d","line":61,"range":{"start_line":60,"start_character":68,"end_line":61,"end_character":9},"in_reply_to":"fa6399be_24205049","updated":"2016-10-19 15:33:52.000000000","message":"Done","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"9edd8a95f703ca03574a67943eaaeb391bb62b74","unresolved":false,"context_lines":[{"line_number":58,"context_line":"At the a Applier level, currently only one action plan will execute."},{"line_number":59,"context_line":"https://github.com/openstack/watcher/blob/master/watcher/applier/manager.py#L30"},{"line_number":60,"context_line":"If new action_plan is proposed while executing current action_plan, we will be"},{"line_number":61,"context_line":"cancelled by proper message saying \"Already one action_plan is running\"."},{"line_number":62,"context_line":"But in the next phase (Need to submit another spec for ocata-2), we will"},{"line_number":63,"context_line":"maintain wait queue so as and when running action_plan completes,"},{"line_number":64,"context_line":"new action_plan will be taken from the queue and will get executed."}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_5307ba1b","line":61,"range":{"start_line":61,"start_character":36,"end_line":61,"end_character":71},"in_reply_to":"fa6399be_84159ce6","updated":"2016-10-19 15:33:52.000000000","message":"Done","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"d78e531b120c54e31df726fc8d07226d58b4d60d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"https://github.com/openstack/watcher/blob/master/watcher/applier/manager.py#L30"},{"line_number":60,"context_line":"If new action_plan is proposed while executing current action_plan, we will be"},{"line_number":61,"context_line":"cancelled by proper message saying \"Already one action_plan is running\"."},{"line_number":62,"context_line":"But in the next phase (Need to submit another spec for ocata-2), we will"},{"line_number":63,"context_line":"maintain wait queue so as and when running action_plan completes,"},{"line_number":64,"context_line":"new action_plan will be taken from the queue and will get executed."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Alternatives"},{"line_number":67,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_e4aad884","line":64,"range":{"start_line":62,"start_character":0,"end_line":64,"end_character":67},"updated":"2016-10-19 08:28:01.000000000","message":"See previous comment : if your action plan has been determined before the execution of the previous action plan, it is probably stale so you shouldn\u0027t run it.","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"9edd8a95f703ca03574a67943eaaeb391bb62b74","unresolved":false,"context_lines":[{"line_number":59,"context_line":"https://github.com/openstack/watcher/blob/master/watcher/applier/manager.py#L30"},{"line_number":60,"context_line":"If new action_plan is proposed while executing current action_plan, we will be"},{"line_number":61,"context_line":"cancelled by proper message saying \"Already one action_plan is running\"."},{"line_number":62,"context_line":"But in the next phase (Need to submit another spec for ocata-2), we will"},{"line_number":63,"context_line":"maintain wait queue so as and when running action_plan completes,"},{"line_number":64,"context_line":"new action_plan will be taken from the queue and will get executed."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Alternatives"},{"line_number":67,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_65ff9101","line":64,"range":{"start_line":62,"start_character":0,"end_line":64,"end_character":67},"in_reply_to":"fa6399be_e4aad884","updated":"2016-10-19 15:33:52.000000000","message":"Done","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":11750,"name":"Antoine Cabot","email":"antoine.cabot@b-com.com","username":"antoinecabot"},"change_message_id":"057df7cf17d08534435d214f7147fa4fca05c238","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Work Items"},{"line_number":124,"context_line":"----------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Part 1"},{"line_number":127,"context_line":"^^^^^^"},{"line_number":128,"context_line":"* Implement AutoTriggerActionPlanHandler class."},{"line_number":129,"context_line":"* Adapt API to support auto_trigger_action_plan field as boolean."},{"line_number":130,"context_line":"* Add AUTO_TRIGGER_ACTION_PLAN to audit in python-watcherclient."}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_64db281c","line":127,"range":{"start_line":126,"start_character":0,"end_line":127,"end_character":6},"updated":"2016-10-19 08:29:37.000000000","message":"there is no Part 1 (or 2) here","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"9edd8a95f703ca03574a67943eaaeb391bb62b74","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Work Items"},{"line_number":124,"context_line":"----------"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Part 1"},{"line_number":127,"context_line":"^^^^^^"},{"line_number":128,"context_line":"* Implement AutoTriggerActionPlanHandler class."},{"line_number":129,"context_line":"* Adapt API to support auto_trigger_action_plan field as boolean."},{"line_number":130,"context_line":"* Add AUTO_TRIGGER_ACTION_PLAN to audit in python-watcherclient."}],"source_content_type":"text/x-rst","patch_set":18,"id":"fa6399be_e513a15a","line":127,"range":{"start_line":126,"start_character":0,"end_line":127,"end_character":6},"in_reply_to":"fa6399be_64db281c","updated":"2016-10-19 15:33:52.000000000","message":"Done","commit_id":"0a18225020b65860b1b8ca77c2a17f3800f90208"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a32a7d659d291c0206523da250e446689efddaa2","unresolved":false,"context_lines":[{"line_number":58,"context_line":"At the a Applier level, currently only one action plan will execute."},{"line_number":59,"context_line":"https://github.com/openstack/watcher/blob/master/watcher/applier/manager.py#L30"},{"line_number":60,"context_line":"If new action_plan is proposed while executing current action_plan, we will"},{"line_number":61,"context_line":"cancel the new action by proper message \"An action plan is currently running\"."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Alternatives"},{"line_number":64,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":21,"id":"ba5da102_f8b3a608","line":61,"range":{"start_line":61,"start_character":40,"end_line":61,"end_character":77},"updated":"2016-10-26 12:49:33.000000000","message":"The action plan state should also be set to SUPERSEDED.","commit_id":"212b2569db57260c81162c2a718d945b12b0c5c7"}]}
