)]}'
{"doc/source/dev/plugin/base-setup.rst":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"9ed62047d67a4f71ed2ef9a7962552614047dad3","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- A :ref:`goal plugin \u003cimplement_goal_plugin\u003e`"},{"line_number":85,"context_line":"- A :ref:`strategy plugin \u003cimplement_strategy_plugin\u003e`"},{"line_number":86,"context_line":"- An :ref:`action plugin \u003cimplement_strategy_plugin\u003e`"},{"line_number":87,"context_line":"- A :ref:`planner plugin \u003cimplement_planner_plugin\u003e`"},{"line_number":88,"context_line":"- A workflow engine plugin"},{"line_number":89,"context_line":"- A :ref:`cluster data model collector plugin"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_04cf1e57","line":86,"range":{"start_line":86,"start_character":36,"end_line":86,"end_character":44},"updated":"2016-07-04 12:54:34.000000000","message":"s/strategy/action","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a82936cb343a859d613e470cbb5d0132dc0a7fd3","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- A :ref:`goal plugin \u003cimplement_goal_plugin\u003e`"},{"line_number":85,"context_line":"- A :ref:`strategy plugin \u003cimplement_strategy_plugin\u003e`"},{"line_number":86,"context_line":"- An :ref:`action plugin \u003cimplement_strategy_plugin\u003e`"},{"line_number":87,"context_line":"- A :ref:`planner plugin \u003cimplement_planner_plugin\u003e`"},{"line_number":88,"context_line":"- A workflow engine plugin"},{"line_number":89,"context_line":"- A :ref:`cluster data model collector plugin"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_78f536eb","line":86,"range":{"start_line":86,"start_character":36,"end_line":86,"end_character":44},"in_reply_to":"1aa78d24_04cf1e57","updated":"2016-07-07 14:35:15.000000000","message":"Done","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"9ed62047d67a4f71ed2ef9a7962552614047dad3","unresolved":false,"context_lines":[{"line_number":85,"context_line":"- A :ref:`strategy plugin \u003cimplement_strategy_plugin\u003e`"},{"line_number":86,"context_line":"- An :ref:`action plugin \u003cimplement_strategy_plugin\u003e`"},{"line_number":87,"context_line":"- A :ref:`planner plugin \u003cimplement_planner_plugin\u003e`"},{"line_number":88,"context_line":"- A workflow engine plugin"},{"line_number":89,"context_line":"- A :ref:`cluster data model collector plugin"},{"line_number":90,"context_line":"  \u003cimplement_cluster_data_model_collector_plugin\u003e`"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_84302e58","line":88,"range":{"start_line":88,"start_character":2,"end_line":88,"end_character":26},"updated":"2016-07-04 12:54:34.000000000","message":"If there is no link reference, why not remove this point ?","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a82936cb343a859d613e470cbb5d0132dc0a7fd3","unresolved":false,"context_lines":[{"line_number":85,"context_line":"- A :ref:`strategy plugin \u003cimplement_strategy_plugin\u003e`"},{"line_number":86,"context_line":"- An :ref:`action plugin \u003cimplement_strategy_plugin\u003e`"},{"line_number":87,"context_line":"- A :ref:`planner plugin \u003cimplement_planner_plugin\u003e`"},{"line_number":88,"context_line":"- A workflow engine plugin"},{"line_number":89,"context_line":"- A :ref:`cluster data model collector plugin"},{"line_number":90,"context_line":"  \u003cimplement_cluster_data_model_collector_plugin\u003e`"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_58ecba29","line":88,"range":{"start_line":88,"start_character":2,"end_line":88,"end_character":26},"in_reply_to":"1aa78d24_84302e58","updated":"2016-07-07 14:35:15.000000000","message":"Because one can still build workflow engine plugins even though there isn\u0027t any doc explaining how.","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"}],"doc/source/dev/plugin/cdmc-plugin.rst":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"9ed62047d67a4f71ed2ef9a7962552614047dad3","unresolved":false,"context_lines":[{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"First of all, you have to extend the :class:`~.BaseClusterDataModelCollector`"},{"line_number":26,"context_line":"base class which defines an abstract method will have to implement: the"},{"line_number":27,"context_line":":py:meth:`~.BaseClusterDataModelCollector.execute` abstract method. This method"},{"line_number":28,"context_line":"is responsible for building a cluster data model."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Here is an example showing how you can write a plugin called"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_449126f0","line":27,"range":{"start_line":26,"start_character":44,"end_line":27,"end_character":66},"updated":"2016-07-04 12:54:34.000000000","message":", :py:meth:`~.BaseClusterDataModelCollector.execute`, you will have to implement","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a82936cb343a859d613e470cbb5d0132dc0a7fd3","unresolved":false,"context_lines":[{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"First of all, you have to extend the :class:`~.BaseClusterDataModelCollector`"},{"line_number":26,"context_line":"base class which defines an abstract method will have to implement: the"},{"line_number":27,"context_line":":py:meth:`~.BaseClusterDataModelCollector.execute` abstract method. This method"},{"line_number":28,"context_line":"is responsible for building a cluster data model."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Here is an example showing how you can write a plugin called"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_f86646b9","line":27,"range":{"start_line":26,"start_character":44,"end_line":27,"end_character":66},"in_reply_to":"1aa78d24_449126f0","updated":"2016-07-07 14:35:15.000000000","message":"Done","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"9ed62047d67a4f71ed2ef9a7962552614047dad3","unresolved":false,"context_lines":[{"line_number":110,"context_line":"Register a new entry point"},{"line_number":111,"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"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"In order for the Watcher Applier to load your new cluster data model collector,"},{"line_number":114,"context_line":"the cluster data model collector must be registered as a named entry point"},{"line_number":115,"context_line":"under the ``metrics_engine.cluster_model_collector`` entry point of your"},{"line_number":116,"context_line":"``setup.py`` file. If you are using pbr_, this entry point should be placed in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_27421c3f","line":113,"range":{"start_line":113,"start_character":25,"end_line":113,"end_character":32},"updated":"2016-07-04 12:54:34.000000000","message":"s/Applier/Decision Engine","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a82936cb343a859d613e470cbb5d0132dc0a7fd3","unresolved":false,"context_lines":[{"line_number":110,"context_line":"Register a new entry point"},{"line_number":111,"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"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"In order for the Watcher Applier to load your new cluster data model collector,"},{"line_number":114,"context_line":"the cluster data model collector must be registered as a named entry point"},{"line_number":115,"context_line":"under the ``metrics_engine.cluster_model_collector`` entry point of your"},{"line_number":116,"context_line":"``setup.py`` file. If you are using pbr_, this entry point should be placed in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_58983a1c","line":113,"range":{"start_line":113,"start_character":25,"end_line":113,"end_character":32},"in_reply_to":"1aa78d24_27421c3f","updated":"2016-07-07 14:35:15.000000000","message":"Done","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"9ed62047d67a4f71ed2ef9a7962552614047dad3","unresolved":false,"context_lines":[{"line_number":111,"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"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"In order for the Watcher Applier to load your new cluster data model collector,"},{"line_number":114,"context_line":"the cluster data model collector must be registered as a named entry point"},{"line_number":115,"context_line":"under the ``metrics_engine.cluster_model_collector`` entry point of your"},{"line_number":116,"context_line":"``setup.py`` file. If you are using pbr_, this entry point should be placed in"},{"line_number":117,"context_line":"your ``setup.cfg`` file."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_87795096","line":114,"range":{"start_line":114,"start_character":0,"end_line":114,"end_character":32},"updated":"2016-07-04 12:54:34.000000000","message":"this last ...","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a82936cb343a859d613e470cbb5d0132dc0a7fd3","unresolved":false,"context_lines":[{"line_number":111,"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"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"In order for the Watcher Applier to load your new cluster data model collector,"},{"line_number":114,"context_line":"the cluster data model collector must be registered as a named entry point"},{"line_number":115,"context_line":"under the ``metrics_engine.cluster_model_collector`` entry point of your"},{"line_number":116,"context_line":"``setup.py`` file. If you are using pbr_, this entry point should be placed in"},{"line_number":117,"context_line":"your ``setup.cfg`` file."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_181a3217","line":114,"range":{"start_line":114,"start_character":0,"end_line":114,"end_character":32},"in_reply_to":"1aa78d24_87795096","updated":"2016-07-07 14:35:15.000000000","message":"Done","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"9ed62047d67a4f71ed2ef9a7962552614047dad3","unresolved":false,"context_lines":[{"line_number":116,"context_line":"``setup.py`` file. If you are using pbr_, this entry point should be placed in"},{"line_number":117,"context_line":"your ``setup.cfg`` file."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"The name you give to your entry point has to be unique."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Here below is how to register ``DummyClusterDataModelCollector`` using pbr_:"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_87879060","line":119,"updated":"2016-07-04 12:54:34.000000000","message":"by convention, should it be related to a service type ?","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a82936cb343a859d613e470cbb5d0132dc0a7fd3","unresolved":false,"context_lines":[{"line_number":116,"context_line":"``setup.py`` file. If you are using pbr_, this entry point should be placed in"},{"line_number":117,"context_line":"your ``setup.cfg`` file."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"The name you give to your entry point has to be unique."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Here below is how to register ``DummyClusterDataModelCollector`` using pbr_:"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_b8931e5a","line":119,"in_reply_to":"1aa78d24_87879060","updated":"2016-07-07 14:35:15.000000000","message":"Well, it totally depends, one may want to optimize his/her cloud infrastructure based on a model that will actually require data coming from many different services.","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"}],"watcher/metrics_engine/cluster_model_collector/base.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"9ed62047d67a4f71ed2ef9a7962552614047dad3","unresolved":false,"context_lines":[{"line_number":94,"context_line":"\u003cgoal_definition\u003e`. For example, a developer could rely on the Nova Data Model"},{"line_number":95,"context_line":"to optimize some compute resources."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"The :ref:`Cluster Data Model \u003ccluster_data_model_definition\u003e` may be persisted"},{"line_number":98,"context_line":"in any appropriate storage system (SQL database, NoSQL database, JSON file,"},{"line_number":99,"context_line":"XML File, In Memory Database, ...)."},{"line_number":100,"context_line":"\"\"\""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"import abc"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_67c9c478","line":99,"range":{"start_line":97,"start_character":0,"end_line":99,"end_character":35},"updated":"2016-07-04 12:54:34.000000000","message":"Please add that only in-memory implementation is available for now.","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"a82936cb343a859d613e470cbb5d0132dc0a7fd3","unresolved":false,"context_lines":[{"line_number":94,"context_line":"\u003cgoal_definition\u003e`. For example, a developer could rely on the Nova Data Model"},{"line_number":95,"context_line":"to optimize some compute resources."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"The :ref:`Cluster Data Model \u003ccluster_data_model_definition\u003e` may be persisted"},{"line_number":98,"context_line":"in any appropriate storage system (SQL database, NoSQL database, JSON file,"},{"line_number":99,"context_line":"XML File, In Memory Database, ...)."},{"line_number":100,"context_line":"\"\"\""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"import abc"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_38372e00","line":99,"range":{"start_line":97,"start_character":0,"end_line":99,"end_character":35},"in_reply_to":"1aa78d24_67c9c478","updated":"2016-07-07 14:35:15.000000000","message":"Done","commit_id":"1ce1d9e963a76b782e949c753496ca35aa57d440"}]}
