)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"7bc6de24b8e0d5fcd167e736e0f309034b06ca96","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Update congestion agent plugin"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit is for correcting some mistakes about the documentation and small issues."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I0a1bda7353c7e742ceb36f182011b3b92dc18da1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f91af0f_755efe12","line":9,"updated":"2018-01-08 12:46:29.000000000","message":"Please wrap at 72 characters.","commit_id":"b19487c4bda651206966d96d632e37e3d596a656"},{"author":{"_account_id":26886,"name":"Fouad Benamrane","email":"benamranefouade@gmail.com","username":"Fouad_Benamrane"},"change_message_id":"a8451a058052d07eb4b430b5c7c20f7ff60659d2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Update congestion agent plugin"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit is for correcting some mistakes about the documentation and small issues."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I0a1bda7353c7e742ceb36f182011b3b92dc18da1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f91af0f_ac642123","line":9,"in_reply_to":"9f91af0f_755efe12","updated":"2018-01-09 13:33:24.000000000","message":"Done","commit_id":"b19487c4bda651206966d96d632e37e3d596a656"}],"docs/Plugins.md":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"0ba8676496df3d1aaf21b2c172e063e5c66d86be","unresolved":false,"context_lines":[{"line_number":839,"context_line":""},{"line_number":840,"context_line":"## Congestion"},{"line_number":841,"context_line":""},{"line_number":842,"context_line":"This section describes the congestion check performed by monasca-agent. Congestion check collects metrics from special iptable chain created by the agent called congestion. Metric names that are cross-posted to the infrastructure project will have the ecn. prefix."},{"line_number":843,"context_line":""},{"line_number":844,"context_line":"### Configuration"},{"line_number":845,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"9f91af0f_a7230056","line":842,"updated":"2018-01-08 10:20:14.000000000","message":"Please limit all lines to a maximum of 79 characters.","commit_id":"b19487c4bda651206966d96d632e37e3d596a656"},{"author":{"_account_id":26886,"name":"Fouad Benamrane","email":"benamranefouade@gmail.com","username":"Fouad_Benamrane"},"change_message_id":"a8451a058052d07eb4b430b5c7c20f7ff60659d2","unresolved":false,"context_lines":[{"line_number":839,"context_line":""},{"line_number":840,"context_line":"## Congestion"},{"line_number":841,"context_line":""},{"line_number":842,"context_line":"This section describes the congestion check performed by monasca-agent. Congestion check collects metrics from special iptable chain created by the agent called congestion. Metric names that are cross-posted to the infrastructure project will have the ecn. prefix."},{"line_number":843,"context_line":""},{"line_number":844,"context_line":"### Configuration"},{"line_number":845,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"9f91af0f_0c8d0dd2","line":842,"in_reply_to":"9f91af0f_a7230056","updated":"2018-01-09 13:33:24.000000000","message":"Done","commit_id":"b19487c4bda651206966d96d632e37e3d596a656"}],"monasca_agent/collector/checks_d/congestion.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"0ba8676496df3d1aaf21b2c172e063e5c66d86be","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2017 OrangeLabs by Fouad Benamrane"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"from copy import deepcopy"},{"line_number":6,"context_line":"import json"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_a7b30098","line":3,"range":{"start_line":3,"start_character":27,"end_line":3,"end_character":46},"updated":"2018-01-08 10:20:14.000000000","message":"You are the author of the code and this information is kept in GitHub. We\u0027re not adding author information in copyright headers.","commit_id":"b19487c4bda651206966d96d632e37e3d596a656"},{"author":{"_account_id":26886,"name":"Fouad Benamrane","email":"benamranefouade@gmail.com","username":"Fouad_Benamrane"},"change_message_id":"a8451a058052d07eb4b430b5c7c20f7ff60659d2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2017 OrangeLabs by Fouad Benamrane"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"from copy import deepcopy"},{"line_number":6,"context_line":"import json"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_2cb3319a","line":3,"range":{"start_line":3,"start_character":27,"end_line":3,"end_character":46},"in_reply_to":"9f91af0f_a7b30098","updated":"2018-01-09 13:33:24.000000000","message":"Done","commit_id":"b19487c4bda651206966d96d632e37e3d596a656"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"7bc6de24b8e0d5fcd167e736e0f309034b06ca96","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            taps \u003d filter(None, taps.split(\u0027\\n\u0027))"},{"line_number":153,"context_line":"            \"\"\"Collect installed rules in Forward chain\"\"\""},{"line_number":154,"context_line":"            forw_rules \u003d self._get_rule(forward_chain)"},{"line_number":155,"context_line":"            for tap in taps:"},{"line_number":156,"context_line":"                tap \u003d tap + \" --physdev-is-bridged\""},{"line_number":157,"context_line":"                for rule in forw_rules:"},{"line_number":158,"context_line":"                    \"\"\"Check if the rule was applied to tap interface\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_106220af","line":155,"updated":"2018-01-08 12:46:29.000000000","message":"I think it\u0027s good to refactor these loops it is a little complicated to understand. as I see it is only the first tap which is checked for the applied rule. if in the first round tos_tap is set True, then what is the use to continue the parent loop and check another tap? \nIn the other hand, if the rule is not applied for the first tap, isn\u0027t it needed to check for the next tap and should ECN be enabled without checking the next tap?","commit_id":"b19487c4bda651206966d96d632e37e3d596a656"},{"author":{"_account_id":26886,"name":"Fouad Benamrane","email":"benamranefouade@gmail.com","username":"Fouad_Benamrane"},"change_message_id":"a8451a058052d07eb4b430b5c7c20f7ff60659d2","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            taps \u003d filter(None, taps.split(\u0027\\n\u0027))"},{"line_number":153,"context_line":"            \"\"\"Collect installed rules in Forward chain\"\"\""},{"line_number":154,"context_line":"            forw_rules \u003d self._get_rule(forward_chain)"},{"line_number":155,"context_line":"            for tap in taps:"},{"line_number":156,"context_line":"                tap \u003d tap + \" --physdev-is-bridged\""},{"line_number":157,"context_line":"                for rule in forw_rules:"},{"line_number":158,"context_line":"                    \"\"\"Check if the rule was applied to tap interface\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_3714da43","line":155,"in_reply_to":"9f91af0f_106220af","updated":"2018-01-09 13:33:24.000000000","message":"You\u0027re right. The loop becomes complicated when I start looking for taps in rules. I corrected it by using a new small function that checks the existence of a tap interface rule in every forward chain rule. The tos_tap variable was deleted since it\u0027s not used anymore.","commit_id":"b19487c4bda651206966d96d632e37e3d596a656"}],"monasca_setup/detection/plugins/congestion.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"0ba8676496df3d1aaf21b2c172e063e5c66d86be","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 OrangeLabs by Fouad Benamrane"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import ConfigParser"},{"line_number":4,"context_line":"import logging"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_476a34ee","line":1,"range":{"start_line":1,"start_character":27,"end_line":1,"end_character":46},"updated":"2018-01-08 10:20:14.000000000","message":"see previous comment.","commit_id":"b19487c4bda651206966d96d632e37e3d596a656"},{"author":{"_account_id":26886,"name":"Fouad Benamrane","email":"benamranefouade@gmail.com","username":"Fouad_Benamrane"},"change_message_id":"a8451a058052d07eb4b430b5c7c20f7ff60659d2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 OrangeLabs by Fouad Benamrane"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import ConfigParser"},{"line_number":4,"context_line":"import logging"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_0ca66d54","line":1,"range":{"start_line":1,"start_character":27,"end_line":1,"end_character":46},"in_reply_to":"9f91af0f_476a34ee","updated":"2018-01-09 13:33:24.000000000","message":"Done","commit_id":"b19487c4bda651206966d96d632e37e3d596a656"}]}
