)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12015,"name":"François Magimel","email":"magimel.francois@gmail.com","username":"linkid"},"change_message_id":"5a4095293949d0e21dd6bcefb939232271b93dab","unresolved":false,"context_lines":[{"line_number":7,"context_line":"(WIP) New Rule base engine spec (backlog)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This spec introduces a new rule based engine module"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I1b152eecc9d0082ee7e8900da1d01a0da3f38438"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1f769fc5_b2739b80","line":10,"updated":"2026-04-12 18:07:13.000000000","message":"I think it could be great to add the task-id of the Storyboard.","commit_id":"9f584142407f51a5049e7306e902fc5cd6737f77"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"a547736a2d8cedfce55fe1db22573192058b1893","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"48d7957f_60e91b52","updated":"2026-05-25 13:44:53.000000000","message":"Hi Maxime, thanks for this spec, it seems to be promising","commit_id":"9f584142407f51a5049e7306e902fc5cd6737f77"}],"specs/backlog/new-rulebased-rating-module.rst":[{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"a547736a2d8cedfce55fe1db22573192058b1893","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Storyboard story: `#2001624 \u003chttps://storyboard.openstack.org/#!/story/2001624\u003e`_"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec proposes the development of a new Rule engine module to replace"},{"line_number":14,"context_line":"the current hashmap module."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"225b8f40_5abec4cf","line":13,"range":{"start_line":13,"start_character":66,"end_line":13,"end_character":73},"updated":"2026-05-25 13:44:53.000000000","message":"I would not say \"replace\" but \"as an alternative\" then we would have 3 modules (hashmapping, ruleset and pyscript).","commit_id":"9f584142407f51a5049e7306e902fc5cd6737f77"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"a547736a2d8cedfce55fe1db22573192058b1893","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Storyboard story: `#2001624 \u003chttps://storyboard.openstack.org/#!/story/2001624\u003e`_"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec proposes the development of a new Rule engine module to replace"},{"line_number":14,"context_line":"the current hashmap module."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"32cc864b_3a11d567","line":13,"updated":"2026-05-25 13:44:53.000000000","message":"The overall idea seems to be interesting, you have everything from hashmapping, but in a simpler way (no need to create services/fields). \n\nThe Ruleset is almost like the \"groups\" in the hashmapping. \n\nYou are keeping the tracking of changes like hashmapping does.\n\nThe filter operations is a plus, we actually cannot do it using hashmapping, we have only the \"equals\" option for the operations.","commit_id":"9f584142407f51a5049e7306e902fc5cd6737f77"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"7376acd6a7cf6ccaaa698e3eedb2f6c28e6804f7","unresolved":true,"context_lines":[{"line_number":29,"context_line":"Today, the Hashmap module miss two important features:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* the ability to import/export a set of rules"},{"line_number":32,"context_line":"* the tracabily/audit capability to check which ruleset was used for"},{"line_number":33,"context_line":"  rating a given dataframe, who does the last modifications of the ruleset, etc"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Furthermore, the current model with service, fields, etc does not provide the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bfe5f14a_6be4f6db","line":32,"updated":"2026-05-25 11:50:47.000000000","message":"We already have this kind of support with start/stop for the rating rules. I am not sure if we are storing the user who modifies/updates/changes them though. However, that is a simple addition to have","commit_id":"9f584142407f51a5049e7306e902fc5cd6737f77"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"a547736a2d8cedfce55fe1db22573192058b1893","unresolved":true,"context_lines":[{"line_number":29,"context_line":"Today, the Hashmap module miss two important features:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* the ability to import/export a set of rules"},{"line_number":32,"context_line":"* the tracabily/audit capability to check which ruleset was used for"},{"line_number":33,"context_line":"  rating a given dataframe, who does the last modifications of the ruleset, etc"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Furthermore, the current model with service, fields, etc does not provide the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"4370d290_dd01bf28","line":32,"in_reply_to":"bfe5f14a_6be4f6db","updated":"2026-05-25 13:44:53.000000000","message":"About the updates audit, yes we do have it, and we store the user from ks token and the modification date.\n\nBut the first part, about tracking the weight of each rule in the final rating for a given dataframe, it could help debugging the rules. It is interesting, but not sure we would need a new module for this.","commit_id":"9f584142407f51a5049e7306e902fc5cd6737f77"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"7376acd6a7cf6ccaaa698e3eedb2f6c28e6804f7","unresolved":true,"context_lines":[{"line_number":32,"context_line":"* the tracabily/audit capability to check which ruleset was used for"},{"line_number":33,"context_line":"  rating a given dataframe, who does the last modifications of the ruleset, etc"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Furthermore, the current model with service, fields, etc does not provide the"},{"line_number":36,"context_line":"flexibility to describe any rating rule (for example, apply a discount if a"},{"line_number":37,"context_line":"given user has more than X VM active at the same time in the tenant). Also the"},{"line_number":38,"context_line":"model needs to be rework to allow CK to work with any type of non Openstack"}],"source_content_type":"text/x-rst","patch_set":3,"id":"38747c09_f83da550","line":35,"updated":"2026-05-25 11:50:47.000000000","message":"This would be possible with PyScript, instead of working with Hashmap rules, right?\n\n\nWe are also already rating S3 usage and VMware workloads. Why would you say that we cannot charge back non-openstack metrics?","commit_id":"9f584142407f51a5049e7306e902fc5cd6737f77"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"a547736a2d8cedfce55fe1db22573192058b1893","unresolved":true,"context_lines":[{"line_number":41,"context_line":"Proposed Change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"To facilitate the development and the migrations, this spec propose a complete"},{"line_number":45,"context_line":"rewrite of the Hashmap module."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"New functionalities:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"23b33100_290dd6c9","line":44,"updated":"2026-05-25 13:44:53.000000000","message":"I think that a new independent module would be reasonable, not a replacement.","commit_id":"9f584142407f51a5049e7306e902fc5cd6737f77"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"a547736a2d8cedfce55fe1db22573192058b1893","unresolved":true,"context_lines":[{"line_number":127,"context_line":"* the metric"},{"line_number":128,"context_line":"* some metadata"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"A rule has 1:1 relationship with a ruleset."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"A *rule* is defined as:"},{"line_number":133,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"0c029f05_2c83004b","line":130,"updated":"2026-05-25 13:44:53.000000000","message":"Why not allowing the same rule to be in multiple rulesets? It would help setting new rulesets with already created rules, and, as we cannot have more than one ruleset active at same time, the same rule would not be processed multiple times.","commit_id":"9f584142407f51a5049e7306e902fc5cd6737f77"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"a547736a2d8cedfce55fe1db22573192058b1893","unresolved":true,"context_lines":[{"line_number":160,"context_line":"Ruleset activation"},{"line_number":161,"context_line":"^^^^^^^^^^^^^^^^^^"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"At each period, the orchestrator should retrieve the active"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"The check is done regarding the collected data date."},{"line_number":166,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fabb16b0_e2b8bfeb","line":163,"updated":"2026-05-25 13:44:53.000000000","message":"The reprocessing workflow (that allows to reprocess old timestamps, due missing data or any other reason) that we have currently in hashmapping would be addressed in this spec?","commit_id":"9f584142407f51a5049e7306e902fc5cd6737f77"}]}
