)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b7844352343d44eef4287cd189fe65c7b524e344","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"OVS detection plugin modification"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Modify detection for ovs. This change follows my other changes"},{"line_number":10,"context_line":"about detection. Get nova_region_name from DEFAULT section"},{"line_number":11,"context_line":"if region_name is not defined in nova section."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3aaa91ec_8dc25351","line":9,"updated":"2016-06-27 06:53:55.000000000","message":"I don\u0027t think that writing commit message in such fashion is good idea. Just write what this commit does without mentioning the others.","commit_id":"4a09d64056cc0648a28749142604dbdda2ef7499"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"f5ea70e53074bd02894413a30c29efed06f10970","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"OVS detection plugin modification"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Modify detection for ovs. This change follows my other changes"},{"line_number":10,"context_line":"about detection. Get nova_region_name from DEFAULT section"},{"line_number":11,"context_line":"if region_name is not defined in nova section."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3aaa91ec_4d522b68","line":9,"in_reply_to":"3aaa91ec_8dc25351","updated":"2016-06-27 07:02:42.000000000","message":"Done","commit_id":"4a09d64056cc0648a28749142604dbdda2ef7499"}],"monasca_setup/detection/plugins/ovs.py":[{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"5de61129716bfd4204f6830b3f8a9cb6b0b00cba","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        self.available \u003d (process_exist is not None and os.path.isfile("},{"line_number":53,"context_line":"                          neutron_conf) and has_dependencies)"},{"line_number":54,"context_line":"        if not self.available:"},{"line_number":55,"context_line":"            self.available \u003d False"},{"line_number":56,"context_line":"            if not process_exist:"},{"line_number":57,"context_line":"                log.error(\u0027OVS daemon process does not exist.\u0027)"},{"line_number":58,"context_line":"            elif not neutron_conf:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_ef8f07ca","line":55,"range":{"start_line":55,"start_character":12,"end_line":55,"end_character":34},"updated":"2016-06-23 12:49:42.000000000","message":"Is this necessary? As far as I can tell, self.available will not be None, so at this point self.available is already False.","commit_id":"8ca073a3d6fe607c9e535fa542bc39af3f03928b"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"4299e6d0de7ed8a23c81d5a7dcb96adc1a134fb3","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        self.available \u003d (process_exist is not None and os.path.isfile("},{"line_number":53,"context_line":"                          neutron_conf) and has_dependencies)"},{"line_number":54,"context_line":"        if not self.available:"},{"line_number":55,"context_line":"            self.available \u003d False"},{"line_number":56,"context_line":"            if not process_exist:"},{"line_number":57,"context_line":"                log.error(\u0027OVS daemon process does not exist.\u0027)"},{"line_number":58,"context_line":"            elif not neutron_conf:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_b69b6117","line":55,"range":{"start_line":55,"start_character":12,"end_line":55,"end_character":34},"in_reply_to":"3aaa91ec_ef8f07ca","updated":"2016-06-24 08:57:06.000000000","message":"Done","commit_id":"8ca073a3d6fe607c9e535fa542bc39af3f03928b"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"4c610c7d17217fc14de1c32a4eb8b763014bb065","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        self.available \u003d (process_exist is not None and os.path.isfile("},{"line_number":53,"context_line":"                          neutron_conf) and has_dependencies)"},{"line_number":54,"context_line":"        if not self.available:"},{"line_number":55,"context_line":"            self.available \u003d False"},{"line_number":56,"context_line":"            if not process_exist:"},{"line_number":57,"context_line":"                log.error(\u0027OVS daemon process does not exist.\u0027)"},{"line_number":58,"context_line":"            elif not neutron_conf:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_75e92180","line":55,"range":{"start_line":55,"start_character":12,"end_line":55,"end_character":34},"in_reply_to":"3aaa91ec_ef8f07ca","updated":"2016-06-23 13:48:12.000000000","message":"Yes, you are right. I will remove it from here. Thanks.","commit_id":"8ca073a3d6fe607c9e535fa542bc39af3f03928b"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"8910f897fe54bead04378a752ebc0e9aabf7e6f4","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        \"\"\""},{"line_number":103,"context_line":"        config \u003d monasca_setup.agent_config.Plugins()"},{"line_number":104,"context_line":"        if self.dependencies_installed():"},{"line_number":105,"context_line":"            neutron_cfg \u003d ConfigParser.SafeConfigParser()"},{"line_number":106,"context_line":"            log.info(\"\\tUsing neutron configuration file {0}\".format(self.neutron_conf))"},{"line_number":107,"context_line":"            neutron_cfg.read(self.neutron_conf)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_28728949","line":104,"updated":"2016-06-23 20:44:26.000000000","message":"If you are checking if dependencies are installed above, you don\u0027t need that here I guess.","commit_id":"8ca073a3d6fe607c9e535fa542bc39af3f03928b"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"4299e6d0de7ed8a23c81d5a7dcb96adc1a134fb3","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        \"\"\""},{"line_number":103,"context_line":"        config \u003d monasca_setup.agent_config.Plugins()"},{"line_number":104,"context_line":"        if self.dependencies_installed():"},{"line_number":105,"context_line":"            neutron_cfg \u003d ConfigParser.SafeConfigParser()"},{"line_number":106,"context_line":"            log.info(\"\\tUsing neutron configuration file {0}\".format(self.neutron_conf))"},{"line_number":107,"context_line":"            neutron_cfg.read(self.neutron_conf)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_169d150a","line":104,"in_reply_to":"3aaa91ec_28728949","updated":"2016-06-24 08:57:06.000000000","message":"Done","commit_id":"8ca073a3d6fe607c9e535fa542bc39af3f03928b"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"290f5ec679a8b00de3605a456827325d1c3d0209","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                           \u0027passed via args.\u0027))"},{"line_number":62,"context_line":"            elif not has_dependencies:"},{"line_number":63,"context_line":"                log.error((\u0027OVS daemon process exists but required \u0027"},{"line_number":64,"context_line":"                           \u0027dependence python-neutronclient is \u0027"},{"line_number":65,"context_line":"                           \u0027not installed.\u0027))"},{"line_number":66,"context_line":"        else:"},{"line_number":67,"context_line":"            self.neutron_conf \u003d neutron_conf"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_80187bd4","line":64,"updated":"2016-06-24 20:50:14.000000000","message":"There are actually 2 dependencies being tested, so perhaps it is worth having them both listed here or checking if \n\n monasca_agent.collector.virt.inspector\n\nis actually an external dependency or internal package of monasca-agent thus always available.","commit_id":"4b22f1d6df2711dfa4e833eb3a284ff62177a232"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"ce0d286b0fa33c698712b2aca5ca45127806eb3e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                           \u0027passed via args.\u0027))"},{"line_number":62,"context_line":"            elif not has_dependencies:"},{"line_number":63,"context_line":"                log.error((\u0027OVS daemon process exists but required \u0027"},{"line_number":64,"context_line":"                           \u0027dependence python-neutronclient is \u0027"},{"line_number":65,"context_line":"                           \u0027not installed.\u0027))"},{"line_number":66,"context_line":"        else:"},{"line_number":67,"context_line":"            self.neutron_conf \u003d neutron_conf"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_ade62f41","line":64,"in_reply_to":"3aaa91ec_80187bd4","updated":"2016-06-27 06:47:58.000000000","message":"monasca_agent.collector.virt.inspector\nIt is an internal package of monasca-agent so I removed it from dependencies_installed()","commit_id":"4b22f1d6df2711dfa4e833eb3a284ff62177a232"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"290f5ec679a8b00de3605a456827325d1c3d0209","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            import neutronclient.v2_0.client"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        except ImportError as e:"},{"line_number":186,"context_line":"            exception_msg \u003d ("},{"line_number":187,"context_line":"                \"Dependencies not satisfied; Plugin not \""},{"line_number":188,"context_line":"                \"configured. {0}.\".format(e))"},{"line_number":189,"context_line":"            log.exception(exception_msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_00f76b8b","line":186,"updated":"2016-06-24 20:50:14.000000000","message":"Error msg should be removed from here.\nIn case of missing dependency you will see 2 error messages telling the same thing.","commit_id":"4b22f1d6df2711dfa4e833eb3a284ff62177a232"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"ce0d286b0fa33c698712b2aca5ca45127806eb3e","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            import neutronclient.v2_0.client"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        except ImportError as e:"},{"line_number":186,"context_line":"            exception_msg \u003d ("},{"line_number":187,"context_line":"                \"Dependencies not satisfied; Plugin not \""},{"line_number":188,"context_line":"                \"configured. {0}.\".format(e))"},{"line_number":189,"context_line":"            log.exception(exception_msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_8de1b32c","line":186,"in_reply_to":"3aaa91ec_00f76b8b","updated":"2016-06-27 06:47:58.000000000","message":"Done","commit_id":"4b22f1d6df2711dfa4e833eb3a284ff62177a232"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"41dea5b6c7e05223ed8001693f2876c34efec30b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        has_dependencies \u003d self.dependencies_installed()"},{"line_number":50,"context_line":"        neutron_conf \u003d self.get_ovs_config_file() if process_exist else \u0027\u0027"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        self.available \u003d (process_exist is not None and os.path.isfile("},{"line_number":53,"context_line":"                          neutron_conf) and has_dependencies)"},{"line_number":54,"context_line":"        if not self.available:"},{"line_number":55,"context_line":"            if not process_exist:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_a0d8e953","line":52,"range":{"start_line":52,"start_character":55,"end_line":52,"end_character":56},"updated":"2016-06-27 11:13:38.000000000","message":"I know it\u0027s being picky here, but that line looks off.\nWould you break a line right after and ?","commit_id":"a5280380da5b8a41bf46522707948b2e7ef28a87"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"53521a31145c4a0042320d0035e719207027c324","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        has_dependencies \u003d self.dependencies_installed()"},{"line_number":50,"context_line":"        neutron_conf \u003d self.get_ovs_config_file() if process_exist else \u0027\u0027"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        self.available \u003d (process_exist is not None and os.path.isfile("},{"line_number":53,"context_line":"                          neutron_conf) and has_dependencies)"},{"line_number":54,"context_line":"        if not self.available:"},{"line_number":55,"context_line":"            if not process_exist:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_a0f3c971","line":52,"range":{"start_line":52,"start_character":55,"end_line":52,"end_character":56},"in_reply_to":"3aaa91ec_a0d8e953","updated":"2016-06-27 11:19:10.000000000","message":"Done","commit_id":"a5280380da5b8a41bf46522707948b2e7ef28a87"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"60eabcff02c7aa2154c2be6d27d172591b2996b7","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        else:"},{"line_number":152,"context_line":"            try:"},{"line_number":153,"context_line":"                init_config[\u0027region_name\u0027] \u003d str(neutron_cfg.get(\u0027nova\u0027, \u0027region_name\u0027))"},{"line_number":154,"context_line":"            except ConfigParser.NoOptionError:"},{"line_number":155,"context_line":"                init_config[\u0027region_name\u0027] \u003d str(neutron_cfg.get(\u0027DEFAULT\u0027,"},{"line_number":156,"context_line":"                                                                 \u0027nova_region_name\u0027))"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_45e2c2a0","line":154,"range":{"start_line":154,"start_character":32,"end_line":154,"end_character":45},"updated":"2016-06-28 07:06:41.000000000","message":"I think that we could add debug message here telling that given option was not found in initial location and \n\n [DEFAULT]\n\nis being used as a fallback.","commit_id":"e60923bbf04bd95b731a44be4a1f7ae41c6d040b"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"ee1bdb65f74e238c34719eab9c79c60dc63b7257","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        else:"},{"line_number":152,"context_line":"            try:"},{"line_number":153,"context_line":"                init_config[\u0027region_name\u0027] \u003d str(neutron_cfg.get(\u0027nova\u0027, \u0027region_name\u0027))"},{"line_number":154,"context_line":"            except ConfigParser.NoOptionError:"},{"line_number":155,"context_line":"                init_config[\u0027region_name\u0027] \u003d str(neutron_cfg.get(\u0027DEFAULT\u0027,"},{"line_number":156,"context_line":"                                                                 \u0027nova_region_name\u0027))"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_4bd8131e","line":154,"range":{"start_line":154,"start_character":32,"end_line":154,"end_character":45},"in_reply_to":"3aaa91ec_45e2c2a0","updated":"2016-06-28 07:52:11.000000000","message":"Done","commit_id":"e60923bbf04bd95b731a44be4a1f7ae41c6d040b"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"f761a4e3655e9995aaa97bcaa21b8c2aa73b276a","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                log.error(\u0027OVS daemon process does not exist.\u0027)"},{"line_number":60,"context_line":"            elif not neutron_conf:"},{"line_number":61,"context_line":"                log.error((\u0027OVS daemon process exists but configuration\u0027"},{"line_number":62,"context_line":"                           \u0027file was not found. Path to file does not exists\u0027"},{"line_number":63,"context_line":"                           \u0027as a process parameter or was not \u0027"},{"line_number":64,"context_line":"                           \u0027passed via args.\u0027))"},{"line_number":65,"context_line":"            elif not has_dependencies:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_c1efe6e7","line":62,"range":{"start_line":62,"start_character":75,"end_line":62,"end_character":76},"updated":"2016-07-01 19:14:27.000000000","message":"nit: no \u0027s\u0027 here","commit_id":"83867b38a548846e0c327726226defe21f7420c7"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"4302c1452f2c620580a615b8206858bbb1d60d9e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                log.error(\u0027OVS daemon process does not exist.\u0027)"},{"line_number":60,"context_line":"            elif not neutron_conf:"},{"line_number":61,"context_line":"                log.error((\u0027OVS daemon process exists but configuration\u0027"},{"line_number":62,"context_line":"                           \u0027file was not found. Path to file does not exists\u0027"},{"line_number":63,"context_line":"                           \u0027as a process parameter or was not \u0027"},{"line_number":64,"context_line":"                           \u0027passed via args.\u0027))"},{"line_number":65,"context_line":"            elif not has_dependencies:"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_7574e1ce","line":62,"range":{"start_line":62,"start_character":75,"end_line":62,"end_character":76},"in_reply_to":"3aaa91ec_c1efe6e7","updated":"2016-07-04 05:39:16.000000000","message":"Done","commit_id":"83867b38a548846e0c327726226defe21f7420c7"}]}
