)]}'
{"docs/DeveloperDocs/Functions.md":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"5794d3179869977e5fd7b3cdb6931d12d2e89256","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e"},{"line_number":2,"context_line":"\u003c!-- DON\u0027T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e"},{"line_number":3,"context_line":"**Table of Contents**"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"- [Modify_Config](#modify_config)"}],"source_content_type":"text/x-markdown","patch_set":10,"id":"9a89bdaa_2ce76c41","line":2,"range":{"start_line":2,"start_character":41,"end_line":2,"end_character":44},"updated":"2016-09-09 17:15:14.000000000","message":"I wonder if functions is the best name for this document. Not sure what i would be looking at if I was going through this as a user. Is this supposed to be monasca-setup functions from the command line or within the application? Just seems a little ambiguous","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"2d8ac4534dcae720ffa5f6128d320e89be7a1874","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e"},{"line_number":2,"context_line":"\u003c!-- DON\u0027T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e"},{"line_number":3,"context_line":"**Table of Contents**"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"- [Modify_Config](#modify_config)"}],"source_content_type":"text/x-markdown","patch_set":10,"id":"9a89bdaa_2c9f6c60","line":2,"range":{"start_line":2,"start_character":41,"end_line":2,"end_character":44},"in_reply_to":"9a89bdaa_2ce76c41","updated":"2016-09-09 17:21:43.000000000","message":"It\u0027s to explain input output of functions in the agent. Right now we only have examples for this one function which is in monasca-setup but later on we might expand it with more functions in other directory. Hmm that\u0027s why I didn\u0027t specify anything in the name for this doc.","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"}],"docs/DeveloperDocs/agent_internals.md":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"70fc4f9aa97278a9c320ec4be76ed07d5f20b18a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Modify_Config"},{"line_number":14,"context_line":"Modify_config is a function in \"monasca_setup/main.py\" (link: https://github.com/openstack/monasca-agent/blob/master/monasca_setup/main.py).  It compares existing and detected config for each check plugin and write out the plugin config if changes. "},{"line_number":15,"context_line":"Example of using modify_config on adding a http check:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"## Examples"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_ea78adc6","line":14,"range":{"start_line":14,"start_character":176,"end_line":14,"end_character":182},"updated":"2016-09-12 20:31:48.000000000","message":"configurations","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"70fc4f9aa97278a9c320ec4be76ed07d5f20b18a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Modify_Config"},{"line_number":14,"context_line":"Modify_config is a function in \"monasca_setup/main.py\" (link: https://github.com/openstack/monasca-agent/blob/master/monasca_setup/main.py).  It compares existing and detected config for each check plugin and write out the plugin config if changes. "},{"line_number":15,"context_line":"Example of using modify_config on adding a http check:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"## Examples"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_6a4bbd87","line":14,"range":{"start_line":14,"start_character":248,"end_line":14,"end_character":249},"updated":"2016-09-12 20:31:48.000000000","message":"extra space","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"70fc4f9aa97278a9c320ec4be76ed07d5f20b18a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Modify_Config"},{"line_number":14,"context_line":"Modify_config is a function in \"monasca_setup/main.py\" (link: https://github.com/openstack/monasca-agent/blob/master/monasca_setup/main.py).  It compares existing and detected config for each check plugin and write out the plugin config if changes. "},{"line_number":15,"context_line":"Example of using modify_config on adding a http check:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"## Examples"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_0a5dd146","line":14,"range":{"start_line":14,"start_character":209,"end_line":14,"end_character":214},"updated":"2016-09-12 20:31:48.000000000","message":"writes","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"2ef8507cb251e4753695351e061f98bdf7bd5082","unresolved":false,"context_lines":[{"line_number":11,"context_line":"\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Modify_Config"},{"line_number":14,"context_line":"Modify_config is a function in \"monasca_setup/main.py\" (link: https://github.com/openstack/monasca-agent/blob/master/monasca_setup/main.py).  It compares existing and detected config for each check plugin and write out the plugin config if changes. "},{"line_number":15,"context_line":"Example of using modify_config on adding a http check:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"## Examples"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_d56e2a2e","line":14,"range":{"start_line":14,"start_character":209,"end_line":14,"end_character":214},"in_reply_to":"9a89bdaa_0a5dd146","updated":"2016-09-12 20:58:53.000000000","message":"Done","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"2ef8507cb251e4753695351e061f98bdf7bd5082","unresolved":false,"context_lines":[{"line_number":11,"context_line":"\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Modify_Config"},{"line_number":14,"context_line":"Modify_config is a function in \"monasca_setup/main.py\" (link: https://github.com/openstack/monasca-agent/blob/master/monasca_setup/main.py).  It compares existing and detected config for each check plugin and write out the plugin config if changes. "},{"line_number":15,"context_line":"Example of using modify_config on adding a http check:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"## Examples"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_b58526d0","line":14,"range":{"start_line":14,"start_character":248,"end_line":14,"end_character":249},"in_reply_to":"9a89bdaa_6a4bbd87","updated":"2016-09-12 20:58:53.000000000","message":"Done","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"2ef8507cb251e4753695351e061f98bdf7bd5082","unresolved":false,"context_lines":[{"line_number":11,"context_line":"\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Modify_Config"},{"line_number":14,"context_line":"Modify_config is a function in \"monasca_setup/main.py\" (link: https://github.com/openstack/monasca-agent/blob/master/monasca_setup/main.py).  It compares existing and detected config for each check plugin and write out the plugin config if changes. "},{"line_number":15,"context_line":"Example of using modify_config on adding a http check:"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"## Examples"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_1575f2f8","line":14,"range":{"start_line":14,"start_character":176,"end_line":14,"end_character":182},"in_reply_to":"9a89bdaa_ea78adc6","updated":"2016-09-12 20:58:53.000000000","message":"Done","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"70fc4f9aa97278a9c320ec4be76ed07d5f20b18a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"monasca-setup arguments:"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"```"},{"line_number":39,"context_line":"monasca-setup -d \u0027HttpCheck\u0027 -a \u0027url\u003dhttp://192.168.10.6:8070 match_patter\u003d.*OK.* name\u003dmonasca dimensions\u003dservice:monitoring\u0027"},{"line_number":40,"context_line":"```"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"input_config generated from monasca-setup:"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_d5146a45","line":39,"range":{"start_line":39,"start_character":62,"end_line":39,"end_character":74},"updated":"2016-09-12 20:31:48.000000000","message":"match_pattern","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"2ef8507cb251e4753695351e061f98bdf7bd5082","unresolved":false,"context_lines":[{"line_number":36,"context_line":"monasca-setup arguments:"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"```"},{"line_number":39,"context_line":"monasca-setup -d \u0027HttpCheck\u0027 -a \u0027url\u003dhttp://192.168.10.6:8070 match_patter\u003d.*OK.* name\u003dmonasca dimensions\u003dservice:monitoring\u0027"},{"line_number":40,"context_line":"```"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"input_config generated from monasca-setup:"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_3572f611","line":39,"range":{"start_line":39,"start_character":62,"end_line":39,"end_character":74},"in_reply_to":"9a89bdaa_d5146a45","updated":"2016-09-12 20:58:53.000000000","message":"Done","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"70fc4f9aa97278a9c320ec4be76ed07d5f20b18a","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"```"},{"line_number":102,"context_line":"monasca-setup -d \u0027HttpCheck\u0027 -a \u0027url\u003dhttps://192.168.10.6:8070"},{"line_number":103,"context_line":"                match_patter\u003d.*VERSION.* dimensions\u003dservice:logging\u0027"},{"line_number":104,"context_line":"```"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"input_config generated from monasca-setup:"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_f5388ed5","line":103,"range":{"start_line":103,"start_character":16,"end_line":103,"end_character":28},"updated":"2016-09-12 20:31:48.000000000","message":"match_pattern","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"2ef8507cb251e4753695351e061f98bdf7bd5082","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"```"},{"line_number":102,"context_line":"monasca-setup -d \u0027HttpCheck\u0027 -a \u0027url\u003dhttps://192.168.10.6:8070"},{"line_number":103,"context_line":"                match_patter\u003d.*VERSION.* dimensions\u003dservice:logging\u0027"},{"line_number":104,"context_line":"```"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"input_config generated from monasca-setup:"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_75663e52","line":103,"range":{"start_line":103,"start_character":16,"end_line":103,"end_character":28},"in_reply_to":"9a89bdaa_f5388ed5","updated":"2016-09-12 20:58:53.000000000","message":"Done","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"70fc4f9aa97278a9c320ec4be76ed07d5f20b18a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"```"},{"line_number":126,"context_line":"{\u0027init_config\u0027: None,"},{"line_number":127,"context_line":" \u0027instances\u0027: [{\u0027built_by\u0027: \u0027HttpCheck\u0027,"},{"line_number":128,"context_line":"                \u0027name\u0027: \u0027https://127.0.0.1:9200\u0027,"},{"line_number":129,"context_line":"                \u0027url\u0027: \u0027https://127.0.0.1:9200\u0027,"},{"line_number":130,"context_line":"                \u0027use_keystone\u0027: False,"},{"line_number":131,"context_line":"                \u0027match_pattern\u0027: \u0027.*VERSION.*\u0027,"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_d569cabf","line":128,"range":{"start_line":128,"start_character":40,"end_line":128,"end_character":41},"updated":"2016-09-12 20:31:48.000000000","message":"where did 127.0.0.1 come from?","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"2ef8507cb251e4753695351e061f98bdf7bd5082","unresolved":false,"context_lines":[{"line_number":125,"context_line":"```"},{"line_number":126,"context_line":"{\u0027init_config\u0027: None,"},{"line_number":127,"context_line":" \u0027instances\u0027: [{\u0027built_by\u0027: \u0027HttpCheck\u0027,"},{"line_number":128,"context_line":"                \u0027name\u0027: \u0027https://127.0.0.1:9200\u0027,"},{"line_number":129,"context_line":"                \u0027url\u0027: \u0027https://127.0.0.1:9200\u0027,"},{"line_number":130,"context_line":"                \u0027use_keystone\u0027: False,"},{"line_number":131,"context_line":"                \u0027match_pattern\u0027: \u0027.*VERSION.*\u0027,"}],"source_content_type":"text/x-markdown","patch_set":13,"id":"9a89bdaa_d5554a50","line":128,"range":{"start_line":128,"start_character":40,"end_line":128,"end_character":41},"in_reply_to":"9a89bdaa_d569cabf","updated":"2016-09-12 20:58:53.000000000","message":"Done","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"693dfe83efc8c719c2936be2055fd97bba2fca8a","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Modify_config is a function in \"monasca_setup/main.py\" (link: https://github"},{"line_number":15,"context_line":".com/openstack/monasca-agent/blob/master/monasca_setup/main.py). It compares"},{"line_number":16,"context_line":"existing and detected configurations for each check plugin and writes out the"},{"line_number":17,"context_line":"plugin configurations if changes."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"## Examples"},{"line_number":20,"context_line":"There are two examples showing here using http_check: one is to add a new"}],"source_content_type":"text/x-markdown","patch_set":16,"id":"9a89bdaa_dfa60e0e","line":17,"range":{"start_line":17,"start_character":25,"end_line":17,"end_character":32},"updated":"2016-09-13 16:31:23.000000000","message":"there are changes","commit_id":"f988293d65401fafa853cbc511d0e430a4d1a045"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"9288f7ec8722340e77a27a12505b48f678b7180c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Modify_config is a function in \"monasca_setup/main.py\" (link: https://github"},{"line_number":15,"context_line":".com/openstack/monasca-agent/blob/master/monasca_setup/main.py). It compares"},{"line_number":16,"context_line":"existing and detected configurations for each check plugin and writes out the"},{"line_number":17,"context_line":"plugin configurations if changes."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"## Examples"},{"line_number":20,"context_line":"There are two examples showing here using http_check: one is to add a new"}],"source_content_type":"text/x-markdown","patch_set":16,"id":"9a89bdaa_95ee2720","line":17,"range":{"start_line":17,"start_character":25,"end_line":17,"end_character":32},"in_reply_to":"9a89bdaa_dfa60e0e","updated":"2016-09-13 16:55:13.000000000","message":"Done","commit_id":"f988293d65401fafa853cbc511d0e430a4d1a045"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"693dfe83efc8c719c2936be2055fd97bba2fca8a","unresolved":false,"context_lines":[{"line_number":17,"context_line":"plugin configurations if changes."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"## Examples"},{"line_number":20,"context_line":"There are two examples showing here using http_check: one is to add a new"},{"line_number":21,"context_line":"instance, another is to detect endpoint change on existing http_check instance."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"#### Adding a new instance"}],"source_content_type":"text/x-markdown","patch_set":16,"id":"9a89bdaa_dff44ef2","line":20,"range":{"start_line":20,"start_character":14,"end_line":20,"end_character":22},"updated":"2016-09-13 16:31:23.000000000","message":"showing -\u003e shown","commit_id":"f988293d65401fafa853cbc511d0e430a4d1a045"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"9288f7ec8722340e77a27a12505b48f678b7180c","unresolved":false,"context_lines":[{"line_number":17,"context_line":"plugin configurations if changes."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"## Examples"},{"line_number":20,"context_line":"There are two examples showing here using http_check: one is to add a new"},{"line_number":21,"context_line":"instance, another is to detect endpoint change on existing http_check instance."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"#### Adding a new instance"}],"source_content_type":"text/x-markdown","patch_set":16,"id":"9a89bdaa_75eb6313","line":20,"range":{"start_line":20,"start_character":14,"end_line":20,"end_character":22},"in_reply_to":"9a89bdaa_dff44ef2","updated":"2016-09-13 16:55:13.000000000","message":"Done","commit_id":"f988293d65401fafa853cbc511d0e430a4d1a045"}],"monasca_setup/agent_config.py":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"92b04ace641e03de25aa568ced73bf366f834c4c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2015-2016 Hewlett Packard Enterprise Development Company LP"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\"\"\"Classes to aid in configuration of the agent.\"\"\""},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_564d9298","line":1,"range":{"start_line":1,"start_character":65,"end_line":1,"end_character":72},"updated":"2016-09-07 22:46:33.000000000","message":"take out","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"c0f458aef989c9a185617b0cb96a923749e88270","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2015-2016 Hewlett Packard Enterprise Development Company LP"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\"\"\"Classes to aid in configuration of the agent.\"\"\""},{"line_number":4,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_8ff6ef5a","line":1,"range":{"start_line":1,"start_character":65,"end_line":1,"end_character":72},"in_reply_to":"9a89bdaa_564d9298","updated":"2016-09-08 21:24:30.000000000","message":"Done","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"5cb559f516b0908c1c7536fb9ea75161b481160f","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"def check_endpoint_changes(value, config):"},{"line_number":105,"context_line":"    # Change urls in config with same path but different endpoint into new"},{"line_number":106,"context_line":"    # endpoint."},{"line_number":107,"context_line":"    new_url \u003d value[\u0027instances\u0027][0][\u0027url\u0027]"},{"line_number":108,"context_line":"    old_urls \u003d [i[\u0027url\u0027] for i in config[\u0027instances\u0027] if \u0027url\u0027 in i]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_9b0e63e3","line":105,"range":{"start_line":105,"start_character":57,"end_line":105,"end_character":65},"updated":"2016-09-07 22:50:36.000000000","message":"This is actually the protocol. The endpoint is the protocol + host + port.","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"c0f458aef989c9a185617b0cb96a923749e88270","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"def check_endpoint_changes(value, config):"},{"line_number":105,"context_line":"    # Change urls in config with same path but different endpoint into new"},{"line_number":106,"context_line":"    # endpoint."},{"line_number":107,"context_line":"    new_url \u003d value[\u0027instances\u0027][0][\u0027url\u0027]"},{"line_number":108,"context_line":"    old_urls \u003d [i[\u0027url\u0027] for i in config[\u0027instances\u0027] if \u0027url\u0027 in i]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_efe69bae","line":105,"range":{"start_line":105,"start_character":57,"end_line":105,"end_character":65},"in_reply_to":"9a89bdaa_9b0e63e3","updated":"2016-09-08 21:24:30.000000000","message":"Done","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"3cb004ef2ae19db46a0a0c7b3dfeb46d3db45f49","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"def check_endpoint_changes(value, config):"},{"line_number":105,"context_line":"    \"\"\"Change urls in config with same path but different protocol into new"},{"line_number":106,"context_line":"       endpoint."},{"line_number":107,"context_line":"    \"\"\""},{"line_number":108,"context_line":"    new_url \u003d value[\u0027instances\u0027][0][\u0027url\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"9a89bdaa_95a2e2fa","line":105,"range":{"start_line":105,"start_character":58,"end_line":105,"end_character":66},"updated":"2016-09-12 20:36:30.000000000","message":"protocols","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"2ef8507cb251e4753695351e061f98bdf7bd5082","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"def check_endpoint_changes(value, config):"},{"line_number":105,"context_line":"    \"\"\"Change urls in config with same path but different protocol into new"},{"line_number":106,"context_line":"       endpoint."},{"line_number":107,"context_line":"    \"\"\""},{"line_number":108,"context_line":"    new_url \u003d value[\u0027instances\u0027][0][\u0027url\u0027]"}],"source_content_type":"text/x-python","patch_set":13,"id":"9a89bdaa_d0de386c","line":105,"range":{"start_line":105,"start_character":58,"end_line":105,"end_character":66},"in_reply_to":"9a89bdaa_95a2e2fa","updated":"2016-09-12 20:58:53.000000000","message":"Done","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"}],"monasca_setup/main.py":[{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"2c662acfd914d1fc2e145676d9c2fb28ac1762c7","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        if detected_config is None:"},{"line_number":78,"context_line":"            return 1  # Indicates detection problem, skip remaining steps and give non-zero exit code"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        changes, value \u003d modify_config(args, detected_config)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    # Don\u0027t restart if only doing detection plugins and no changes found"},{"line_number":83,"context_line":"    if args.detection_plugins is not None and not changes:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_8cb2e604","line":80,"range":{"start_line":80,"start_character":17,"end_line":80,"end_character":22},"updated":"2016-09-07 05:26:43.000000000","message":"We don\u0027t want to change the signature here.  This return value isn\u0027t used in the running code only in the test program.  The modify_config function attempts to write to a file.  We should be mocking that out and trapping the new config there rather than returning the data to a function that doesn\u0027t use it.","commit_id":"cfbcf809f226cd8ebac26b318e13d5bdb054c137"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"81536c1d80b70b57bb778444e1277c01aa1331a2","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        if detected_config is None:"},{"line_number":78,"context_line":"            return 1  # Indicates detection problem, skip remaining steps and give non-zero exit code"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        changes, value \u003d modify_config(args, detected_config)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    # Don\u0027t restart if only doing detection plugins and no changes found"},{"line_number":83,"context_line":"    if args.detection_plugins is not None and not changes:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_59b79a39","line":80,"range":{"start_line":80,"start_character":17,"end_line":80,"end_character":22},"in_reply_to":"9a89bdaa_8cb2e604","updated":"2016-09-07 14:58:21.000000000","message":"Sounds good! Thanks Joe!","commit_id":"cfbcf809f226cd8ebac26b318e13d5bdb054c137"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"92b04ace641e03de25aa568ced73bf366f834c4c","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                    # Save old http_check urls for later comparison"},{"line_number":152,"context_line":"                    old_config_urls \u003d [i[\u0027url\u0027] for i in old_config[\u0027instances\u0027] if \u0027url\u0027 in i]"},{"line_number":153,"context_line":"                    # Check endpoint change, use new endpoint instead"},{"line_number":154,"context_line":"                    # Note: old_config is possibly changed after"},{"line_number":155,"context_line":"                    # check_endpoint_changes function."},{"line_number":156,"context_line":"                    old_config \u003d agent_config.check_endpoint_changes(value, old_config)"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_d628c29c","line":154,"range":{"start_line":154,"start_character":51,"end_line":154,"end_character":58},"updated":"2016-09-07 22:46:33.000000000","message":"should we use a different name then","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"0d928f9cdc7efd19293bac7d925d6e2c821bedca","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                    # Save old http_check urls for later comparison"},{"line_number":152,"context_line":"                    old_config_urls \u003d [i[\u0027url\u0027] for i in old_config[\u0027instances\u0027] if \u0027url\u0027 in i]"},{"line_number":153,"context_line":"                    # Check endpoint change, use new endpoint instead"},{"line_number":154,"context_line":"                    # Note: old_config is possibly changed after"},{"line_number":155,"context_line":"                    # check_endpoint_changes function."},{"line_number":156,"context_line":"                    old_config \u003d agent_config.check_endpoint_changes(value, old_config)"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_c100fe68","line":154,"range":{"start_line":154,"start_character":51,"end_line":154,"end_character":58},"in_reply_to":"9a89bdaa_41a86e77","updated":"2016-09-07 23:12:12.000000000","message":"I agree it doesn\u0027t fit here, I\u0027m not sure the name fits at all, but how do you modify the name during an optional part of the code and then use it later?","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"d7fbdf19ada167a9e17cb7d1071686aa668e5fd9","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                    # Save old http_check urls for later comparison"},{"line_number":152,"context_line":"                    old_config_urls \u003d [i[\u0027url\u0027] for i in old_config[\u0027instances\u0027] if \u0027url\u0027 in i]"},{"line_number":153,"context_line":"                    # Check endpoint change, use new endpoint instead"},{"line_number":154,"context_line":"                    # Note: old_config is possibly changed after"},{"line_number":155,"context_line":"                    # check_endpoint_changes function."},{"line_number":156,"context_line":"                    old_config \u003d agent_config.check_endpoint_changes(value, old_config)"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_41a86e77","line":154,"range":{"start_line":154,"start_character":51,"end_line":154,"end_character":58},"in_reply_to":"9a89bdaa_c10b9e22","updated":"2016-09-07 23:09:05.000000000","message":"it just makes it a little confusing. The name doesnt fit here","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"01a3fd11e8385144bbd906e49d71ad7ac2c8b2ed","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                    # Save old http_check urls for later comparison"},{"line_number":152,"context_line":"                    old_config_urls \u003d [i[\u0027url\u0027] for i in old_config[\u0027instances\u0027] if \u0027url\u0027 in i]"},{"line_number":153,"context_line":"                    # Check endpoint change, use new endpoint instead"},{"line_number":154,"context_line":"                    # Note: old_config is possibly changed after"},{"line_number":155,"context_line":"                    # check_endpoint_changes function."},{"line_number":156,"context_line":"                    old_config \u003d agent_config.check_endpoint_changes(value, old_config)"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_812c369a","line":154,"range":{"start_line":154,"start_character":51,"end_line":154,"end_character":58},"in_reply_to":"9a89bdaa_d628c29c","updated":"2016-09-07 22:49:25.000000000","message":"Ln 158 we use old_config again though and if it\u0027s not a http_check, it won\u0027t go through check_endpoint_changes","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"e0b45e8692960ceaf6b4baa4b214e81c394b1e2a","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                    # Save old http_check urls for later comparison"},{"line_number":152,"context_line":"                    old_config_urls \u003d [i[\u0027url\u0027] for i in old_config[\u0027instances\u0027] if \u0027url\u0027 in i]"},{"line_number":153,"context_line":"                    # Check endpoint change, use new endpoint instead"},{"line_number":154,"context_line":"                    # Note: old_config is possibly changed after"},{"line_number":155,"context_line":"                    # check_endpoint_changes function."},{"line_number":156,"context_line":"                    old_config \u003d agent_config.check_endpoint_changes(value, old_config)"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_c10b9e22","line":154,"range":{"start_line":154,"start_character":51,"end_line":154,"end_character":58},"in_reply_to":"9a89bdaa_d628c29c","updated":"2016-09-07 22:48:22.000000000","message":"This only happens in the http_check case and the rest of the code uses the old_config name for everything else it does.","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"3cb004ef2ae19db46a0a0c7b3dfeb46d3db45f49","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"def modify_config(args, detected_config):"},{"line_number":137,"context_line":"    \"\"\"Compare existing and detected config for each check plugin and write out"},{"line_number":138,"context_line":"       the plugin config if changes"},{"line_number":139,"context_line":"    \"\"\""},{"line_number":140,"context_line":"    changes \u003d False"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9a89bdaa_358bd669","line":138,"range":{"start_line":138,"start_character":28,"end_line":138,"end_character":35},"updated":"2016-09-12 20:36:30.000000000","message":"there are changes","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"2ef8507cb251e4753695351e061f98bdf7bd5082","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"def modify_config(args, detected_config):"},{"line_number":137,"context_line":"    \"\"\"Compare existing and detected config for each check plugin and write out"},{"line_number":138,"context_line":"       the plugin config if changes"},{"line_number":139,"context_line":"    \"\"\""},{"line_number":140,"context_line":"    changes \u003d False"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9a89bdaa_3046844f","line":138,"range":{"start_line":138,"start_character":28,"end_line":138,"end_character":35},"in_reply_to":"9a89bdaa_358bd669","updated":"2016-09-12 20:58:53.000000000","message":"Done","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"3cb004ef2ae19db46a0a0c7b3dfeb46d3db45f49","unresolved":false,"context_lines":[{"line_number":137,"context_line":"    \"\"\"Compare existing and detected config for each check plugin and write out"},{"line_number":138,"context_line":"       the plugin config if changes"},{"line_number":139,"context_line":"    \"\"\""},{"line_number":140,"context_line":"    changes \u003d False"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    for key, value in detected_config.iteritems():"},{"line_number":143,"context_line":"        if args.overwrite:"}],"source_content_type":"text/x-python","patch_set":13,"id":"9a89bdaa_950ca2ed","line":140,"range":{"start_line":140,"start_character":4,"end_line":140,"end_character":11},"updated":"2016-09-12 20:36:30.000000000","message":"dont have to change it but i think a better name would be modified_config","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"3cb004ef2ae19db46a0a0c7b3dfeb46d3db45f49","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            # merge old and new config, new has precedence"},{"line_number":152,"context_line":"            if config is not None:"},{"line_number":153,"context_line":"                # For HttpCheck, if the new input url has the same host and"},{"line_number":154,"context_line":"                # port but different protocol comparing with one of the"},{"line_number":155,"context_line":"                # existing instances in http_check.yaml, we want to keep the"},{"line_number":156,"context_line":"                # existing http check instance and replace the url with the"},{"line_number":157,"context_line":"                # new protocol. If name in this instance is the same as the"}],"source_content_type":"text/x-python","patch_set":13,"id":"9a89bdaa_f5c24e84","line":154,"range":{"start_line":154,"start_character":26,"end_line":154,"end_character":27},"updated":"2016-09-12 20:36:30.000000000","message":"a","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"2ef8507cb251e4753695351e061f98bdf7bd5082","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            # merge old and new config, new has precedence"},{"line_number":152,"context_line":"            if config is not None:"},{"line_number":153,"context_line":"                # For HttpCheck, if the new input url has the same host and"},{"line_number":154,"context_line":"                # port but different protocol comparing with one of the"},{"line_number":155,"context_line":"                # existing instances in http_check.yaml, we want to keep the"},{"line_number":156,"context_line":"                # existing http check instance and replace the url with the"},{"line_number":157,"context_line":"                # new protocol. If name in this instance is the same as the"}],"source_content_type":"text/x-python","patch_set":13,"id":"9a89bdaa_90f030ff","line":154,"range":{"start_line":154,"start_character":26,"end_line":154,"end_character":27},"in_reply_to":"9a89bdaa_f5c24e84","updated":"2016-09-12 20:58:53.000000000","message":"Done","commit_id":"01e33f02d5e20e03713920b58df2e9f6be90e835"}],"tests/test_detection_plugin.py":[{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"2c662acfd914d1fc2e145676d9c2fb28ac1762c7","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"class TestDetectionPlugin(unittest.TestCase):"},{"line_number":12,"context_line":"    @mock.patch(\u0027monasca_setup.agent_config.read_plugin_config_from_disk\u0027)"},{"line_number":13,"context_line":"    def test_modify_plugin_http_check(self, mock_read_plugin_config):"},{"line_number":14,"context_line":"        mock_read_plugin_config.return_value \u003d {"},{"line_number":15,"context_line":"            \u0027init_config\u0027: None,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_4ca37eb2","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":74},"updated":"2016-09-07 05:26:43.000000000","message":"If we also mock monasca_setup.agent_config.save_plugin_config we should be able to trap the new data without depending on a return value from the modify_config function.  You can point the save_plugin_config mock at a function and then save the data there so you can look at it later.","commit_id":"cfbcf809f226cd8ebac26b318e13d5bdb054c137"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"81536c1d80b70b57bb778444e1277c01aa1331a2","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"class TestDetectionPlugin(unittest.TestCase):"},{"line_number":12,"context_line":"    @mock.patch(\u0027monasca_setup.agent_config.read_plugin_config_from_disk\u0027)"},{"line_number":13,"context_line":"    def test_modify_plugin_http_check(self, mock_read_plugin_config):"},{"line_number":14,"context_line":"        mock_read_plugin_config.return_value \u003d {"},{"line_number":15,"context_line":"            \u0027init_config\u0027: None,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_d9f00a00","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":74},"in_reply_to":"9a89bdaa_4ca37eb2","updated":"2016-09-07 14:58:21.000000000","message":"Will try that!! Thanks!","commit_id":"cfbcf809f226cd8ebac26b318e13d5bdb054c137"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"5cb559f516b0908c1c7536fb9ea75161b481160f","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        self._config_data \u003d data"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    @mock.patch(\u0027monasca_setup.main.agent_config\u0027)"},{"line_number":42,"context_line":"    def test_modify_plugin_directory_check(self, mock_agent_config):"},{"line_number":43,"context_line":"        mock_agent_config.read_plugin_config_from_disk.return_value \u003d \\"},{"line_number":44,"context_line":"            DEFAULT_DIRECTORY_CHECK_CONFIG"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_b685fecf","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":42},"updated":"2016-09-07 22:50:36.000000000","message":"Add a test_no_modify_plugin_directory_check","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"c0f458aef989c9a185617b0cb96a923749e88270","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        self._config_data \u003d data"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    @mock.patch(\u0027monasca_setup.main.agent_config\u0027)"},{"line_number":42,"context_line":"    def test_modify_plugin_directory_check(self, mock_agent_config):"},{"line_number":43,"context_line":"        mock_agent_config.read_plugin_config_from_disk.return_value \u003d \\"},{"line_number":44,"context_line":"            DEFAULT_DIRECTORY_CHECK_CONFIG"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_a852c410","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":42},"in_reply_to":"9a89bdaa_b685fecf","updated":"2016-09-08 21:24:30.000000000","message":"Done","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"5cb559f516b0908c1c7536fb9ea75161b481160f","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    @mock.patch(\u0027monasca_setup.main.agent_config\u0027)"},{"line_number":42,"context_line":"    def test_modify_plugin_directory_check(self, mock_agent_config):"},{"line_number":43,"context_line":"        mock_agent_config.read_plugin_config_from_disk.return_value \u003d \\"},{"line_number":44,"context_line":"            DEFAULT_DIRECTORY_CHECK_CONFIG"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        mock_agent_config.save_plugin_config \u003d self.save_config"},{"line_number":47,"context_line":"        mock_agent_config.check_endpoint_changes \u003d self._endpoint_change"},{"line_number":48,"context_line":"        mock_agent_config.merge_by_name \u003d self._merge_by_name"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # Add a new file size check instance"},{"line_number":51,"context_line":"        directory \u003d \u0027/var/log/monasca\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_f68786b2","line":48,"range":{"start_line":43,"start_character":0,"end_line":48,"end_character":61},"updated":"2016-09-07 22:50:36.000000000","message":"This code is repeated for every test with only the returned config varying. Pull it out into a method to remove that duplication. And inline self._endpoint_change and self._merge_by_name to make it easy to see what they really are.","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"94111baf325925fe5576356d9e3107fab5cf4400","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    @mock.patch(\u0027monasca_setup.main.agent_config\u0027)"},{"line_number":42,"context_line":"    def test_modify_plugin_directory_check(self, mock_agent_config):"},{"line_number":43,"context_line":"        mock_agent_config.read_plugin_config_from_disk.return_value \u003d \\"},{"line_number":44,"context_line":"            DEFAULT_DIRECTORY_CHECK_CONFIG"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        mock_agent_config.save_plugin_config \u003d self.save_config"},{"line_number":47,"context_line":"        mock_agent_config.check_endpoint_changes \u003d self._endpoint_change"},{"line_number":48,"context_line":"        mock_agent_config.merge_by_name \u003d self._merge_by_name"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # Add a new file size check instance"},{"line_number":51,"context_line":"        directory \u003d \u0027/var/log/monasca\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_01ae66e5","line":48,"range":{"start_line":43,"start_character":0,"end_line":48,"end_character":61},"in_reply_to":"9a89bdaa_f68786b2","updated":"2016-09-07 22:57:27.000000000","message":"What do you mean by inline the self._endpoint_change and self._merge_by_name functions?","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"5cb559f516b0908c1c7536fb9ea75161b481160f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        directory \u003d \u0027/var/log/monasca\u0027"},{"line_number":52,"context_line":"        args, detected_config \u003d self._get_directory_check_args_and_config("},{"line_number":53,"context_line":"            directory)"},{"line_number":54,"context_line":"        changes \u003d monasca_setup.main.modify_config(args, detected_config)"},{"line_number":55,"context_line":"        self.assertEqual(changes, True)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        expected_value \u003d \\"},{"line_number":58,"context_line":"            {\u0027init_config\u0027: None,"},{"line_number":59,"context_line":"             \u0027instances\u0027: [{\u0027built_by\u0027: \u0027DirectoryDetect\u0027,"},{"line_number":60,"context_line":"                            \u0027directory_name\u0027: directory,"},{"line_number":61,"context_line":"                            \u0027dimensions\u0027: None"},{"line_number":62,"context_line":"                            },"},{"line_number":63,"context_line":"                           {\u0027built_by\u0027: \u0027DirectoryDetect\u0027,"},{"line_number":64,"context_line":"                            \u0027directory_name\u0027: \u0027/var/log/keystone\u0027,"},{"line_number":65,"context_line":"                            \u0027dimensions\u0027: {\u0027service\u0027: \u0027identity-service\u0027}"},{"line_number":66,"context_line":"                            }]"},{"line_number":67,"context_line":"             }"},{"line_number":68,"context_line":"        self.assertEqual(expected_value, self._config_data)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    @mock.patch(\u0027monasca_setup.main.agent_config\u0027)"},{"line_number":71,"context_line":"    def test_modify_plugin_http_check(self, mock_agent_config):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_966c7a09","line":68,"range":{"start_line":54,"start_character":0,"end_line":68,"end_character":59},"updated":"2016-09-07 22:50:36.000000000","message":"Move the expected_value out of this block and turn it into a method to reuse in all of the tests.","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"c0f458aef989c9a185617b0cb96a923749e88270","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        directory \u003d \u0027/var/log/monasca\u0027"},{"line_number":52,"context_line":"        args, detected_config \u003d self._get_directory_check_args_and_config("},{"line_number":53,"context_line":"            directory)"},{"line_number":54,"context_line":"        changes \u003d monasca_setup.main.modify_config(args, detected_config)"},{"line_number":55,"context_line":"        self.assertEqual(changes, True)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        expected_value \u003d \\"},{"line_number":58,"context_line":"            {\u0027init_config\u0027: None,"},{"line_number":59,"context_line":"             \u0027instances\u0027: [{\u0027built_by\u0027: \u0027DirectoryDetect\u0027,"},{"line_number":60,"context_line":"                            \u0027directory_name\u0027: directory,"},{"line_number":61,"context_line":"                            \u0027dimensions\u0027: None"},{"line_number":62,"context_line":"                            },"},{"line_number":63,"context_line":"                           {\u0027built_by\u0027: \u0027DirectoryDetect\u0027,"},{"line_number":64,"context_line":"                            \u0027directory_name\u0027: \u0027/var/log/keystone\u0027,"},{"line_number":65,"context_line":"                            \u0027dimensions\u0027: {\u0027service\u0027: \u0027identity-service\u0027}"},{"line_number":66,"context_line":"                            }]"},{"line_number":67,"context_line":"             }"},{"line_number":68,"context_line":"        self.assertEqual(expected_value, self._config_data)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    @mock.patch(\u0027monasca_setup.main.agent_config\u0027)"},{"line_number":71,"context_line":"    def test_modify_plugin_http_check(self, mock_agent_config):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_884fc069","line":68,"range":{"start_line":54,"start_character":0,"end_line":68,"end_character":59},"in_reply_to":"9a89bdaa_966c7a09","updated":"2016-09-08 21:24:30.000000000","message":"Done","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"5cb559f516b0908c1c7536fb9ea75161b481160f","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                            \u0027timeout\u0027: \u002710\u0027,"},{"line_number":94,"context_line":"                            \u0027use_keystone\u0027: False}]"},{"line_number":95,"context_line":"                          }"},{"line_number":96,"context_line":"        self.assertEqual(changes, True)"},{"line_number":97,"context_line":"        self.assertEqual(expected_value, self._config_data)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    @mock.patch(\u0027monasca_setup.main.agent_config\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a89bdaa_d661a206","line":96,"range":{"start_line":96,"start_character":34,"end_line":96,"end_character":38},"updated":"2016-09-07 22:50:36.000000000","message":"There should at least one test where this will be False, maybe two. One when just the protocol changes and one when nothing changes.","commit_id":"eeec4d7d9d0003297c16e0f5b275d4c32cf70f11"}],"tests/test_modify_config.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"3aec07dfc25fcd814a24927c5299d9c8e58df024","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                            \u0027name\u0027: \u0027monasca-api\u0027,"},{"line_number":83,"context_line":"                            \u0027search_string\u0027: [\u0027monasca-api\u0027]"},{"line_number":84,"context_line":"                            },"},{"line_number":85,"context_line":"                           {\u0027built_by\u0027: \u0027MonNotification\u0027,"},{"line_number":86,"context_line":"                            \u0027detailed\u0027: True,"},{"line_number":87,"context_line":"                            \u0027dimensions\u0027: {"},{"line_number":88,"context_line":"                                \u0027component\u0027: \u0027monasca-notification\u0027},"},{"line_number":89,"context_line":"                            \u0027exact_match\u0027: False,"},{"line_number":90,"context_line":"                            \u0027name\u0027: \u0027monasca-notification\u0027,"},{"line_number":91,"context_line":"                            \u0027search_string\u0027: [\u0027monasca-notification\u0027]"},{"line_number":92,"context_line":"                            }]"},{"line_number":93,"context_line":"             }"},{"line_number":94,"context_line":"        self._check_changes(args, detected_config, expected_value)"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_eac9e45b","line":92,"range":{"start_line":85,"start_character":27,"end_line":92,"end_character":29},"updated":"2016-09-09 18:24:24.000000000","message":"Replace with DEFAULT_PROCESS_CHECK_CONFIG[\u0027instances\u0027][0]","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"83d02ebb28aa12a7776894aabeff63c0f4f46b1c","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                            \u0027name\u0027: \u0027monasca-api\u0027,"},{"line_number":83,"context_line":"                            \u0027search_string\u0027: [\u0027monasca-api\u0027]"},{"line_number":84,"context_line":"                            },"},{"line_number":85,"context_line":"                           {\u0027built_by\u0027: \u0027MonNotification\u0027,"},{"line_number":86,"context_line":"                            \u0027detailed\u0027: True,"},{"line_number":87,"context_line":"                            \u0027dimensions\u0027: {"},{"line_number":88,"context_line":"                                \u0027component\u0027: \u0027monasca-notification\u0027},"},{"line_number":89,"context_line":"                            \u0027exact_match\u0027: False,"},{"line_number":90,"context_line":"                            \u0027name\u0027: \u0027monasca-notification\u0027,"},{"line_number":91,"context_line":"                            \u0027search_string\u0027: [\u0027monasca-notification\u0027]"},{"line_number":92,"context_line":"                            }]"},{"line_number":93,"context_line":"             }"},{"line_number":94,"context_line":"        self._check_changes(args, detected_config, expected_value)"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_7b51240e","line":92,"range":{"start_line":85,"start_character":27,"end_line":92,"end_character":29},"in_reply_to":"9a89bdaa_eac9e45b","updated":"2016-09-09 19:27:57.000000000","message":"Done","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"3aec07dfc25fcd814a24927c5299d9c8e58df024","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        mock_read_config.return_value \u003d DEFAULT_HTTP_CHECK_CONFIG"},{"line_number":118,"context_line":"        mock_save_config.side_effect \u003d self.save_config"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        # Change url and match_pattern"},{"line_number":121,"context_line":"        url \u003d \u0027https://127.0.0.1:9200\u0027"},{"line_number":122,"context_line":"        match_pattern \u003d \u0027.*OK.*\u0027"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_6a031477","line":120,"range":{"start_line":120,"start_character":17,"end_line":120,"end_character":20},"updated":"2016-09-09 18:24:24.000000000","message":"protocol","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"83d02ebb28aa12a7776894aabeff63c0f4f46b1c","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        mock_read_config.return_value \u003d DEFAULT_HTTP_CHECK_CONFIG"},{"line_number":118,"context_line":"        mock_save_config.side_effect \u003d self.save_config"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        # Change url and match_pattern"},{"line_number":121,"context_line":"        url \u003d \u0027https://127.0.0.1:9200\u0027"},{"line_number":122,"context_line":"        match_pattern \u003d \u0027.*OK.*\u0027"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_9b56e804","line":120,"range":{"start_line":120,"start_character":17,"end_line":120,"end_character":20},"in_reply_to":"9a89bdaa_6a031477","updated":"2016-09-09 19:27:57.000000000","message":"Done","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"3aec07dfc25fcd814a24927c5299d9c8e58df024","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        mock_save_config.side_effect \u003d self.save_config"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        # Change only url endpoint"},{"line_number":147,"context_line":"        new_url \u003d \u0027http://127.0.0.1:9200\u0027"},{"line_number":148,"context_line":"        match_pattern \u003d \u0027.*OK.*\u0027"},{"line_number":149,"context_line":"        args, detected_config \u003d self. _get_http_check_args_and_config("},{"line_number":150,"context_line":"            new_url, match_pattern, \u0027logging\u0027)"},{"line_number":151,"context_line":"        expected_value \u003d {\u0027init_config\u0027: None,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_4a9010ed","line":148,"range":{"start_line":147,"start_character":0,"end_line":148,"end_character":32},"updated":"2016-09-09 18:24:24.000000000","message":"This is the same url, but a different match_pattern","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"83d02ebb28aa12a7776894aabeff63c0f4f46b1c","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        mock_save_config.side_effect \u003d self.save_config"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        # Change only url endpoint"},{"line_number":147,"context_line":"        new_url \u003d \u0027http://127.0.0.1:9200\u0027"},{"line_number":148,"context_line":"        match_pattern \u003d \u0027.*OK.*\u0027"},{"line_number":149,"context_line":"        args, detected_config \u003d self. _get_http_check_args_and_config("},{"line_number":150,"context_line":"            new_url, match_pattern, \u0027logging\u0027)"},{"line_number":151,"context_line":"        expected_value \u003d {\u0027init_config\u0027: None,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_3b487c5b","line":148,"range":{"start_line":147,"start_character":0,"end_line":148,"end_character":32},"in_reply_to":"9a89bdaa_4a9010ed","updated":"2016-09-09 19:27:57.000000000","message":"Done","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"3aec07dfc25fcd814a24927c5299d9c8e58df024","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        mock_save_config.side_effect \u003d self.save_config"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        # Change only match_pattern"},{"line_number":172,"context_line":"        url \u003d \u0027http://127.0.0.1:9200\u0027"},{"line_number":173,"context_line":"        new_match_pattern \u003d \u0027.*TEST.*\u0027"},{"line_number":174,"context_line":"        args, detected_config \u003d self. _get_http_check_args_and_config("},{"line_number":175,"context_line":"            url, new_match_pattern, \u0027logging\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_8a7db8e9","line":172,"range":{"start_line":172,"start_character":14,"end_line":172,"end_character":37},"updated":"2016-09-09 18:24:24.000000000","message":"Replace with DEFAULT_HTTP_CHECK_CONFIG[\u0027instances\u0027][0][\u0027url\u0027]","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"83d02ebb28aa12a7776894aabeff63c0f4f46b1c","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        mock_save_config.side_effect \u003d self.save_config"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        # Change only match_pattern"},{"line_number":172,"context_line":"        url \u003d \u0027http://127.0.0.1:9200\u0027"},{"line_number":173,"context_line":"        new_match_pattern \u003d \u0027.*TEST.*\u0027"},{"line_number":174,"context_line":"        args, detected_config \u003d self. _get_http_check_args_and_config("},{"line_number":175,"context_line":"            url, new_match_pattern, \u0027logging\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_5b7380b4","line":172,"range":{"start_line":172,"start_character":14,"end_line":172,"end_character":37},"in_reply_to":"9a89bdaa_8a7db8e9","updated":"2016-09-09 19:27:57.000000000","message":"Done","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"3aec07dfc25fcd814a24927c5299d9c8e58df024","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                            \u0027timeout\u0027: \u002710\u0027,"},{"line_number":209,"context_line":"                            \u0027use_keystone\u0027: False,"},{"line_number":210,"context_line":"                            \u0027dimensions\u0027: {\u0027service\u0027: \u0027logging\u0027}},"},{"line_number":211,"context_line":"                           {\u0027built_by\u0027: \u0027HttpCheck\u0027,"},{"line_number":212,"context_line":"                            \u0027match_pattern\u0027: \u0027.*VERSION.*\u0027,"},{"line_number":213,"context_line":"                            \u0027url\u0027: \u0027http://127.0.0.1:9200\u0027,"},{"line_number":214,"context_line":"                            \u0027name\u0027: \u0027logging\u0027,"},{"line_number":215,"context_line":"                            \u0027timeout\u0027: \u002710\u0027,"},{"line_number":216,"context_line":"                            \u0027collect_response_time\u0027: True,"},{"line_number":217,"context_line":"                            \u0027use_keystone\u0027: False,"},{"line_number":218,"context_line":"                            \u0027dimensions\u0027: {\u0027service\u0027: \u0027logging\u0027}}"},{"line_number":219,"context_line":"                           ]"},{"line_number":220,"context_line":"                          }"},{"line_number":221,"context_line":"        self._check_changes(args, detected_config, expected_value)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_0a236806","line":218,"range":{"start_line":211,"start_character":27,"end_line":218,"end_character":64},"updated":"2016-09-09 18:24:24.000000000","message":"Replace with DEFAULT_HTTP_CHECK_CONFIG[\u0027instances\u0027][0]","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"83d02ebb28aa12a7776894aabeff63c0f4f46b1c","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                            \u0027timeout\u0027: \u002710\u0027,"},{"line_number":209,"context_line":"                            \u0027use_keystone\u0027: False,"},{"line_number":210,"context_line":"                            \u0027dimensions\u0027: {\u0027service\u0027: \u0027logging\u0027}},"},{"line_number":211,"context_line":"                           {\u0027built_by\u0027: \u0027HttpCheck\u0027,"},{"line_number":212,"context_line":"                            \u0027match_pattern\u0027: \u0027.*VERSION.*\u0027,"},{"line_number":213,"context_line":"                            \u0027url\u0027: \u0027http://127.0.0.1:9200\u0027,"},{"line_number":214,"context_line":"                            \u0027name\u0027: \u0027logging\u0027,"},{"line_number":215,"context_line":"                            \u0027timeout\u0027: \u002710\u0027,"},{"line_number":216,"context_line":"                            \u0027collect_response_time\u0027: True,"},{"line_number":217,"context_line":"                            \u0027use_keystone\u0027: False,"},{"line_number":218,"context_line":"                            \u0027dimensions\u0027: {\u0027service\u0027: \u0027logging\u0027}}"},{"line_number":219,"context_line":"                           ]"},{"line_number":220,"context_line":"                          }"},{"line_number":221,"context_line":"        self._check_changes(args, detected_config, expected_value)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_7b784490","line":218,"range":{"start_line":211,"start_character":27,"end_line":218,"end_character":64},"in_reply_to":"9a89bdaa_0a236806","updated":"2016-09-09 19:27:57.000000000","message":"Done","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"3aec07dfc25fcd814a24927c5299d9c8e58df024","unresolved":false,"context_lines":[{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def _check_no_change(self, args, detected_config):"},{"line_number":224,"context_line":"        changes \u003d monasca_setup.main.modify_config(args, detected_config)"},{"line_number":225,"context_line":"        self.assertEqual(changes, False)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    def _check_changes(self, args, detected_config, expected_value):"},{"line_number":228,"context_line":"        changes \u003d monasca_setup.main.modify_config(args, detected_config)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_ef5d7649","line":225,"range":{"start_line":225,"start_character":8,"end_line":225,"end_character":40},"updated":"2016-09-09 18:24:24.000000000","message":"Maybe assert that self._config_date \u003d\u003d {}?","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"83d02ebb28aa12a7776894aabeff63c0f4f46b1c","unresolved":false,"context_lines":[{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def _check_no_change(self, args, detected_config):"},{"line_number":224,"context_line":"        changes \u003d monasca_setup.main.modify_config(args, detected_config)"},{"line_number":225,"context_line":"        self.assertEqual(changes, False)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    def _check_changes(self, args, detected_config, expected_value):"},{"line_number":228,"context_line":"        changes \u003d monasca_setup.main.modify_config(args, detected_config)"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a89bdaa_db6790e8","line":225,"range":{"start_line":225,"start_character":8,"end_line":225,"end_character":40},"in_reply_to":"9a89bdaa_ef5d7649","updated":"2016-09-09 19:27:57.000000000","message":"Done","commit_id":"4d889233c8dc8cc2cee091dbb58296280da92378"}]}
