)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"8614bfd8a10efb87bba032fa45bc1794954cc622","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Zhenguo Niu \u003cNiu.ZGlinux@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-08-04 09:56:56 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow conditions using values from introspection"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Conditions ``value`` supports fetching data from introspection, it\u0027s"},{"line_number":10,"context_line":"using python string formatting notation."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bacf61ea_989cd65e","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":48},"updated":"2016-08-04 07:25:38.000000000","message":"I\u0027d rephrase this a little, because sounds like conditions can\u0027t use data from introspection now, which isn\u0027t true, maybe something like this:\n\nAllow using introspection data in condition\u0027s \u0027value\u0027 field\n\nor like in release notes","commit_id":"266340bf1273a399de3861bae923867f4a36dfc0"}],"ironic_inspector/rules.py":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"1bb1e200283c30b2ab26da37693854ade3b0706b","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    return _ACTIONS_SCHEMA"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"def get_formatted_value(params, formatted_params, node_info, data):"},{"line_number":103,"context_line":"    for formatted_param in formatted_params:"},{"line_number":104,"context_line":"        value \u003d params.get(formatted_param)"},{"line_number":105,"context_line":"        if not value or not isinstance(value, six.string_types):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_f05f3e73","line":102,"range":{"start_line":102,"start_character":4,"end_line":102,"end_character":23},"updated":"2016-08-15 08:46:39.000000000","message":"nit: it\u0027s for internal use, so name should start  with underscore","commit_id":"71ab67ec1d23601bb04ec12658b77e6db80fdfb3"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"1bb1e200283c30b2ab26da37693854ade3b0706b","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        for act in self._actions:"},{"line_number":224,"context_line":"            ext \u003d ext_mgr[act.action].obj"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"            # NOTE(zhenguo): verify provided value with introspection data"},{"line_number":227,"context_line":"            # format specifications."},{"line_number":228,"context_line":"            act.params \u003d get_formatted_value("},{"line_number":229,"context_line":"                act.params, ext.FORMATTED_PARAMS, node_info, data)"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_d04e8295","line":227,"range":{"start_line":226,"start_character":11,"end_line":227,"end_character":35},"updated":"2016-08-15 08:46:39.000000000","message":"nit: it should be in new method, no needs in copy-paste this","commit_id":"71ab67ec1d23601bb04ec12658b77e6db80fdfb3"}],"ironic_inspector/test/functional.py":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"1bb1e200283c30b2ab26da37693854ade3b0706b","unresolved":false,"context_lines":[{"line_number":321,"context_line":"            {"},{"line_number":322,"context_line":"                \u0027conditions\u0027: ["},{"line_number":323,"context_line":"                    {\u0027field\u0027: \u0027data://inventory.cpu.architecture\u0027, \u0027op\u0027: \u0027eq\u0027,"},{"line_number":324,"context_line":"                     \u0027value\u0027: \u0027{data[inventory][cpu][architecture]}\u0027},"},{"line_number":325,"context_line":"                ],"},{"line_number":326,"context_line":"                \u0027actions\u0027: ["},{"line_number":327,"context_line":"                    {\u0027action\u0027: \u0027set-attribute\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac371cc_cb51b710","line":324,"range":{"start_line":324,"start_character":19,"end_line":324,"end_character":70},"updated":"2016-08-15 08:46:39.000000000","message":"So, AFAIU it fails with count, what is the root cause? Did you file a bug? I don\u0027t want silently masking the issues with changing the test.","commit_id":"71ab67ec1d23601bb04ec12658b77e6db80fdfb3"}],"tox.ini":[{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f53daa382216095a940dafd611a6c4ee3e2000a6","unresolved":false,"context_lines":[{"line_number":64,"context_line":"commands \u003d oslo-config-generator --config-file config-generator.conf"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"[flake8]"},{"line_number":67,"context_line":"max-complexity\u003d16"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"[hacking]"},{"line_number":70,"context_line":"import_exceptions \u003d ironicclient.exceptions,ironic_inspector.common.i18n"}],"source_content_type":"text/x-properties","patch_set":1,"id":"dada55a8_cf746369","line":67,"updated":"2016-07-27 10:51:43.000000000","message":"I don\u0027t think we should be changing this... we don\u0027t set rules so they can be changed if you break them","commit_id":"4261fbd256dafb14d4aa1600527629d0190960ee"}]}
