)]}'
{"conf.d/ovs.yaml.example":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"bb0165581a3e285836a9b5f4f708834a8a96a039","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    identity_uri: \u0027http://192.168.10.5:35357/v2.0\u0027"},{"line_number":8,"context_line":"    # Number of seconds to wait before updating the neutron router cache file."},{"line_number":9,"context_line":"    neutron_refresh: 14400"},{"line_number":10,"context_line":"    # The region name in /etc/neutron/neutron.conf.     "},{"line_number":11,"context_line":"    region_name: \u0027region1\u0027"},{"line_number":12,"context_line":"    # Location of temporary files maintained by the plugin. Ramdisk preferred."},{"line_number":13,"context_line":"    cache_dir: /dev/shm"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"bab6814e_b1fa5641","line":10,"range":{"start_line":10,"start_character":51,"end_line":10,"end_character":56},"updated":"2016-05-20 16:02:22.000000000","message":"extra white space","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"b4e6e8369d10a786b551357a41071000cffef979","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    identity_uri: \u0027http://192.168.10.5:35357/v2.0\u0027"},{"line_number":8,"context_line":"    # Number of seconds to wait before updating the neutron router cache file."},{"line_number":9,"context_line":"    neutron_refresh: 14400"},{"line_number":10,"context_line":"    # The region name in /etc/neutron/neutron.conf.     "},{"line_number":11,"context_line":"    region_name: \u0027region1\u0027"},{"line_number":12,"context_line":"    # Location of temporary files maintained by the plugin. Ramdisk preferred."},{"line_number":13,"context_line":"    cache_dir: /dev/shm"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"bab6814e_44a4dcb8","line":10,"range":{"start_line":10,"start_character":51,"end_line":10,"end_character":56},"in_reply_to":"bab6814e_b1fa5641","updated":"2016-05-23 07:37:59.000000000","message":"Done","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"bb0165581a3e285836a9b5f4f708834a8a96a039","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    cache_dir: /dev/shm"},{"line_number":14,"context_line":"    # Specfies network metrics in bitslog."},{"line_number":15,"context_line":"    network_use_bits: true"},{"line_number":16,"context_line":"    # Location of the open vswitch command."},{"line_number":17,"context_line":"  ovs_cmd: \u0027sudo /usr/bin/ovs-vsctl\u0027"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"instances:"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"bab6814e_c332b10f","line":16,"range":{"start_line":16,"start_character":6,"end_line":16,"end_character":14},"updated":"2016-05-20 16:02:22.000000000","message":"not a location but command with sudo in front of it.","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"b4e6e8369d10a786b551357a41071000cffef979","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    cache_dir: /dev/shm"},{"line_number":14,"context_line":"    # Specfies network metrics in bitslog."},{"line_number":15,"context_line":"    network_use_bits: true"},{"line_number":16,"context_line":"    # Location of the open vswitch command."},{"line_number":17,"context_line":"  ovs_cmd: \u0027sudo /usr/bin/ovs-vsctl\u0027"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"instances:"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"bab6814e_24a718be","line":16,"range":{"start_line":16,"start_character":6,"end_line":16,"end_character":14},"in_reply_to":"bab6814e_c332b10f","updated":"2016-05-23 07:37:59.000000000","message":"Done","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"bb0165581a3e285836a9b5f4f708834a8a96a039","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"instances:"},{"line_number":20,"context_line":"    # Instances are not used and should be empty in `ovs.yaml` because like the"},{"line_number":21,"context_line":"    #ovs plugin it runs against all routers hosted on the node at once."},{"line_number":22,"context_line":"    - {}"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"bab6814e_71b2ae95","line":21,"range":{"start_line":21,"start_character":43,"end_line":21,"end_character":44},"updated":"2016-05-20 16:02:22.000000000","message":"do we check that they are empty in the collection plugin?","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":11671,"name":"Ashish Kumar Gupta","email":"guptaas@vmware.com","username":"ashish-kumar-gupta"},"change_message_id":"ff15c95dc0f9cc139b977311b1886181d757b6c4","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    # Speed of the port"},{"line_number":22,"context_line":"    speed: 1000"},{"line_number":23,"context_line":"    # Regular expression for the interfaces type"},{"line_number":24,"context_line":"    included_interface_re: tap.*|qr.*|qq.*"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"instances:"},{"line_number":27,"context_line":"    # Instances are not used and should be empty in `ovs.yaml` because like the"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"9abb7d3a_2308822d","line":24,"updated":"2016-06-02 09:12:58.000000000","message":"i think nit required \nqq- \u003e qg","commit_id":"6ac4de401fe0d4ae4f25f44e1ce3e066f7e5299b"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"a63ed46491c953433f52ef19277338c175899644","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    # Speed of the port"},{"line_number":22,"context_line":"    speed: 1000"},{"line_number":23,"context_line":"    # Regular expression for the interfaces type"},{"line_number":24,"context_line":"    included_interface_re: tap.*|qr.*|qq.*"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"instances:"},{"line_number":27,"context_line":"    # Instances are not used and should be empty in `ovs.yaml` because like the"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"9abb7d3a_dea2294b","line":24,"in_reply_to":"9abb7d3a_2308822d","updated":"2016-06-02 09:23:21.000000000","message":"Yep its a nit, I will correct it in my next patch.","commit_id":"6ac4de401fe0d4ae4f25f44e1ce3e066f7e5299b"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"2469aae1ad1ce0fc3e031da5c98e4e2dbc5ac290","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    # monasca-agent to run that command. The new location of the `ovs-vsctl`"},{"line_number":19,"context_line":"    # command should be what is set in the config file for `ovs_cmd`."},{"line_number":20,"context_line":"    ovs_cmd: \u0027sudo /usr/bin/ovs-vsctl\u0027"},{"line_number":21,"context_line":"    # Speed of the port"},{"line_number":22,"context_line":"    speed: 1000"},{"line_number":23,"context_line":"    # Regular expression for the interfaces type"},{"line_number":24,"context_line":"    included_interface_re: tap.*|qr.*|qg.*"}],"source_content_type":"application/octet-stream","patch_set":17,"id":"7aa08908_01913f47","line":21,"range":{"start_line":21,"start_character":6,"end_line":21,"end_character":11},"updated":"2016-06-08 11:23:06.000000000","message":"can you remove speed? as we are not supporting link utilization we dont need this parameter","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"2469aae1ad1ce0fc3e031da5c98e4e2dbc5ac290","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    # Speed of the port"},{"line_number":22,"context_line":"    speed: 1000"},{"line_number":23,"context_line":"    # Regular expression for the interfaces type"},{"line_number":24,"context_line":"    included_interface_re: tap.*|qr.*|qg.*"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"instances:"},{"line_number":27,"context_line":"    # Instances are not used and should be empty in `ovs.yaml` because like the"}],"source_content_type":"application/octet-stream","patch_set":17,"id":"7aa08908_01df7f0d","line":24,"range":{"start_line":24,"start_character":25,"end_line":24,"end_character":26},"updated":"2016-06-08 11:23:06.000000000","message":"please add the support for vhu* for DPDK support","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"92441dd3b564db573ee4ac30bc7e3e234b0901f5","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    # command should be what is set in the config file for `ovs_cmd`."},{"line_number":20,"context_line":"    ovs_cmd: \u0027sudo /usr/bin/ovs-vsctl\u0027"},{"line_number":21,"context_line":"    # Speed of the port"},{"line_number":22,"context_line":"    speed: 1000"},{"line_number":23,"context_line":"    # Regular expression for the interfaces type"},{"line_number":24,"context_line":"    included_interface_re: tap.*|qr.*|qg.*"},{"line_number":25,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":18,"id":"7aa08908_8d24e4c6","line":22,"range":{"start_line":22,"start_character":10,"end_line":22,"end_character":11},"updated":"2016-06-09 18:00:11.000000000","message":"remove speed","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"f2837ac89cb628dfc7744f09c7792546718a9722","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    # command should be what is set in the config file for `ovs_cmd`."},{"line_number":20,"context_line":"    ovs_cmd: \u0027sudo /usr/bin/ovs-vsctl\u0027"},{"line_number":21,"context_line":"    # Speed of the port"},{"line_number":22,"context_line":"    speed: 1000"},{"line_number":23,"context_line":"    # Regular expression for the interfaces type"},{"line_number":24,"context_line":"    included_interface_re: tap.*|qr.*|qg.*"},{"line_number":25,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":18,"id":"7aa08908_c60fe62c","line":22,"range":{"start_line":22,"start_character":10,"end_line":22,"end_character":11},"in_reply_to":"7aa08908_8d24e4c6","updated":"2016-06-09 19:23:45.000000000","message":"Done","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"}],"monasca_setup/detection/plugins/ovs.py":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"bb0165581a3e285836a9b5f4f708834a8a96a039","unresolved":false,"context_lines":[{"line_number":15,"context_line":"neutron_refresh \u003d 60 * 60 * 4  # Four hours"},{"line_number":16,"context_line":"# Directory to use for metric caches"},{"line_number":17,"context_line":"cache_dir \u003d \"/dev/shm\""},{"line_number":18,"context_line":"# Location of the open vswitch command"},{"line_number":19,"context_line":"ovs_cmd \u003d \"sudo /usr/bin/ovs-vsctl\""},{"line_number":20,"context_line":"# If set, will submit network metrics in bits"},{"line_number":21,"context_line":"network_use_bits \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_637ca5b5","line":18,"range":{"start_line":18,"start_character":2,"end_line":18,"end_character":10},"updated":"2016-05-20 16:02:22.000000000","message":"not really a location with sudo in front of it more of a command to me","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"b4e6e8369d10a786b551357a41071000cffef979","unresolved":false,"context_lines":[{"line_number":15,"context_line":"neutron_refresh \u003d 60 * 60 * 4  # Four hours"},{"line_number":16,"context_line":"# Directory to use for metric caches"},{"line_number":17,"context_line":"cache_dir \u003d \"/dev/shm\""},{"line_number":18,"context_line":"# Location of the open vswitch command"},{"line_number":19,"context_line":"ovs_cmd \u003d \"sudo /usr/bin/ovs-vsctl\""},{"line_number":20,"context_line":"# If set, will submit network metrics in bits"},{"line_number":21,"context_line":"network_use_bits \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_049f745f","line":18,"range":{"start_line":18,"start_character":2,"end_line":18,"end_character":10},"in_reply_to":"bab6814e_637ca5b5","updated":"2016-05-23 07:37:59.000000000","message":"Done","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"bb0165581a3e285836a9b5f4f708834a8a96a039","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            self.agent_user \u003d None"},{"line_number":35,"context_line":"        # Try to detect the location of the Neutron configuration file."},{"line_number":36,"context_line":"        # Walk through the list of processes, searching for \u0027neutron\u0027"},{"line_number":37,"context_line":"        # process with \u0027neutron.conf\u0027 inside one of the parameters."},{"line_number":38,"context_line":"        neutron_conf \u003d None"},{"line_number":39,"context_line":"        for proc in psutil.process_iter():"},{"line_number":40,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_03103958","line":37,"range":{"start_line":37,"start_character":44,"end_line":37,"end_character":45},"updated":"2016-05-20 16:02:22.000000000","message":"could we just configure the neutron conf so you dont have to walk through each process?","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"bb0165581a3e285836a9b5f4f708834a8a96a039","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            except (IOError, psutil.NoSuchProcess):"},{"line_number":52,"context_line":"                # Process has already terminated, ignore"},{"line_number":53,"context_line":"                continue"},{"line_number":54,"context_line":"        if (neutron_conf is not None and os.path.isfile(neutron_conf)):"},{"line_number":55,"context_line":"            self.available \u003d True"},{"line_number":56,"context_line":"            self.neutron_conf \u003d neutron_conf"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_a62cdb99","line":54,"range":{"start_line":54,"start_character":32,"end_line":54,"end_character":36},"updated":"2016-05-20 16:02:22.000000000","message":"need to log here that you could not find the conf. No idea why it failed if I run this wth not neutron conf","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"b4e6e8369d10a786b551357a41071000cffef979","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            except (IOError, psutil.NoSuchProcess):"},{"line_number":52,"context_line":"                # Process has already terminated, ignore"},{"line_number":53,"context_line":"                continue"},{"line_number":54,"context_line":"        if (neutron_conf is not None and os.path.isfile(neutron_conf)):"},{"line_number":55,"context_line":"            self.available \u003d True"},{"line_number":56,"context_line":"            self.neutron_conf \u003d neutron_conf"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_448b3c1f","line":54,"range":{"start_line":54,"start_character":32,"end_line":54,"end_character":36},"in_reply_to":"bab6814e_a62cdb99","updated":"2016-05-23 07:37:59.000000000","message":"Done","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"bb0165581a3e285836a9b5f4f708834a8a96a039","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            log.info(\"\\tUsing neutron configuration file {0}\".format(self.neutron_conf))"},{"line_number":66,"context_line":"            neutron_cfg.read(self.neutron_conf)"},{"line_number":67,"context_line":"            # Which configuration options are needed for the plugin YAML?"},{"line_number":68,"context_line":"            # Use a dict so that they can be renamed later if necessary"},{"line_number":69,"context_line":"            cfg_needed \u003d {\u0027admin_user\u0027: \u0027admin_user\u0027,"},{"line_number":70,"context_line":"                          \u0027admin_password\u0027: \u0027admin_password\u0027,"},{"line_number":71,"context_line":"                          \u0027admin_tenant_name\u0027: \u0027admin_tenant_name\u0027}"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_a6317b5c","line":68,"range":{"start_line":68,"start_character":20,"end_line":68,"end_character":24},"updated":"2016-05-20 16:02:22.000000000","message":"take these comments out?","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"b4e6e8369d10a786b551357a41071000cffef979","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            log.info(\"\\tUsing neutron configuration file {0}\".format(self.neutron_conf))"},{"line_number":66,"context_line":"            neutron_cfg.read(self.neutron_conf)"},{"line_number":67,"context_line":"            # Which configuration options are needed for the plugin YAML?"},{"line_number":68,"context_line":"            # Use a dict so that they can be renamed later if necessary"},{"line_number":69,"context_line":"            cfg_needed \u003d {\u0027admin_user\u0027: \u0027admin_user\u0027,"},{"line_number":70,"context_line":"                          \u0027admin_password\u0027: \u0027admin_password\u0027,"},{"line_number":71,"context_line":"                          \u0027admin_tenant_name\u0027: \u0027admin_tenant_name\u0027}"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_248ef82d","line":68,"range":{"start_line":68,"start_character":20,"end_line":68,"end_character":24},"in_reply_to":"bab6814e_a6317b5c","updated":"2016-05-23 07:37:59.000000000","message":"Done","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"bb0165581a3e285836a9b5f4f708834a8a96a039","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            # Handle monasca-setup detection arguments, which take precedence"},{"line_number":102,"context_line":"            if self.args:"},{"line_number":103,"context_line":"                for arg in self.args:"},{"line_number":104,"context_line":"                    init_config[arg] \u003d self.literal_eval(self.args[arg])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"            config[\u0027ovs\u0027] \u003d {\u0027init_config\u0027: init_config,"},{"line_number":107,"context_line":"                             \u0027instances\u0027: {}}"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_4656cf5c","line":104,"range":{"start_line":104,"start_character":32,"end_line":104,"end_character":35},"updated":"2016-05-20 16:02:22.000000000","message":"are you adding every arg that is coming in? Do you now want control over what arg you are adding that is relevant?","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"b4e6e8369d10a786b551357a41071000cffef979","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            # Handle monasca-setup detection arguments, which take precedence"},{"line_number":102,"context_line":"            if self.args:"},{"line_number":103,"context_line":"                for arg in self.args:"},{"line_number":104,"context_line":"                    init_config[arg] \u003d self.literal_eval(self.args[arg])"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"            config[\u0027ovs\u0027] \u003d {\u0027init_config\u0027: init_config,"},{"line_number":107,"context_line":"                             \u0027instances\u0027: {}}"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_c47f2c13","line":104,"range":{"start_line":104,"start_character":32,"end_line":104,"end_character":35},"in_reply_to":"bab6814e_4656cf5c","updated":"2016-05-23 07:37:59.000000000","message":"Done","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"bb0165581a3e285836a9b5f4f708834a8a96a039","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def dependencies_installed(self):"},{"line_number":112,"context_line":"        try:"},{"line_number":113,"context_line":"            import json"},{"line_number":114,"context_line":"            import monasca_agent.collector.virt.inspector"},{"line_number":115,"context_line":"            import time"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_c64e3f6e","line":113,"range":{"start_line":113,"start_character":19,"end_line":113,"end_character":23},"updated":"2016-05-20 16:02:22.000000000","message":"json and time are apart of python not an external package do we need to check them here","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"b4e6e8369d10a786b551357a41071000cffef979","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def dependencies_installed(self):"},{"line_number":112,"context_line":"        try:"},{"line_number":113,"context_line":"            import json"},{"line_number":114,"context_line":"            import monasca_agent.collector.virt.inspector"},{"line_number":115,"context_line":"            import time"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_a47ae821","line":113,"range":{"start_line":113,"start_character":19,"end_line":113,"end_character":23},"in_reply_to":"bab6814e_c64e3f6e","updated":"2016-05-23 07:37:59.000000000","message":"Done","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"bb0165581a3e285836a9b5f4f708834a8a96a039","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            log.warn(\"\\tDependencies not satisfied; plugin not configured.\")"},{"line_number":119,"context_line":"            return False"},{"line_number":120,"context_line":"        if os.path.isdir(cache_dir) is False:"},{"line_number":121,"context_line":"            log.warn(\"\\tCache directory {} not found;\" +"},{"line_number":122,"context_line":"                     \" plugin not configured.\".format(cache_dir))"},{"line_number":123,"context_line":"            return False"},{"line_number":124,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_c6d11f59","line":121,"range":{"start_line":121,"start_character":29,"end_line":121,"end_character":30},"updated":"2016-05-20 16:02:22.000000000","message":"this seems like it should not be in this method. Not checking for something installed but checking a directory existantance","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"b4e6e8369d10a786b551357a41071000cffef979","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            log.warn(\"\\tDependencies not satisfied; plugin not configured.\")"},{"line_number":119,"context_line":"            return False"},{"line_number":120,"context_line":"        if os.path.isdir(cache_dir) is False:"},{"line_number":121,"context_line":"            log.warn(\"\\tCache directory {} not found;\" +"},{"line_number":122,"context_line":"                     \" plugin not configured.\".format(cache_dir))"},{"line_number":123,"context_line":"            return False"},{"line_number":124,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_0476543d","line":121,"range":{"start_line":121,"start_character":29,"end_line":121,"end_character":30},"in_reply_to":"bab6814e_c6d11f59","updated":"2016-05-23 07:37:59.000000000","message":"Done","commit_id":"41e4c89325f9f71b43a75e6a5f2b874b36df4484"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"95d0f922dab4f1c55889ff471d39b15dc629cfa0","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        neutron_conf \u003d None"},{"line_number":46,"context_line":"        for proc in psutil.process_iter():"},{"line_number":47,"context_line":"            try:"},{"line_number":48,"context_line":"                cmd \u003d proc.cmdline()"},{"line_number":49,"context_line":"                if len(cmd) \u003e 2 and \u0027python\u0027 in cmd[0] and \u0027neutron\u0027 in cmd[1]:"},{"line_number":50,"context_line":"                    conf_indexes \u003d [cmd.index(y) for y in cmd if \u0027neutron.conf\u0027 in y]"},{"line_number":51,"context_line":"                    if not conf_indexes:"},{"line_number":52,"context_line":"                        continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_14467f4e","line":49,"range":{"start_line":48,"start_character":16,"end_line":49,"end_character":79},"updated":"2016-05-23 09:01:45.000000000","message":"I have two comments here.\n\n1. In older versions of psutils cmdline (among others) is a property, not a method. I suggest using proc.as_dict() to get a dictionary representing the process. This should work with the newer and older versions of psutils.\n\nSo you could insert something like:\n\nproc_dict \u003d proc.as_dict()\n\n\n2. Then, the other thing:\n\nI think the check could be made shorter, thus more readable by using the attributes of proc.\n- proc_dict[\u0027name\u0027]: first 15 characters of the name of the process. In our case it would be \u0027neutron-openvsw\u0027\n- proc_dict[\u0027exe\u0027]: process executable path. something like \u0027/usr/bin/python2.7\u0027.\n- proc_dict[\u0027username\u0027]: name of the user who owns the process. In our case it\u0027s \u0027neutron\u0027.\n\nProbably proc_dict[\u0027name\u0027] is enough to find the ovs process, since it is kind of unique. Then cmd \u003d proc_dict[\u0027cmdline\u0027] can be moved inside the if.","commit_id":"e6d7f1a126c73cfab514488b98729969a4385c43"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"705c096d08c15abc51d8174ca50a03791e2fd85e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        neutron_conf \u003d None"},{"line_number":46,"context_line":"        for proc in psutil.process_iter():"},{"line_number":47,"context_line":"            try:"},{"line_number":48,"context_line":"                cmd \u003d proc.cmdline()"},{"line_number":49,"context_line":"                if len(cmd) \u003e 2 and \u0027python\u0027 in cmd[0] and \u0027neutron\u0027 in cmd[1]:"},{"line_number":50,"context_line":"                    conf_indexes \u003d [cmd.index(y) for y in cmd if \u0027neutron.conf\u0027 in y]"},{"line_number":51,"context_line":"                    if not conf_indexes:"},{"line_number":52,"context_line":"                        continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_b4b84c12","line":49,"range":{"start_line":48,"start_character":16,"end_line":49,"end_character":79},"in_reply_to":"bab6814e_14467f4e","updated":"2016-05-23 10:30:53.000000000","message":"Done","commit_id":"e6d7f1a126c73cfab514488b98729969a4385c43"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"95d0f922dab4f1c55889ff471d39b15dc629cfa0","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            try:"},{"line_number":48,"context_line":"                cmd \u003d proc.cmdline()"},{"line_number":49,"context_line":"                if len(cmd) \u003e 2 and \u0027python\u0027 in cmd[0] and \u0027neutron\u0027 in cmd[1]:"},{"line_number":50,"context_line":"                    conf_indexes \u003d [cmd.index(y) for y in cmd if \u0027neutron.conf\u0027 in y]"},{"line_number":51,"context_line":"                    if not conf_indexes:"},{"line_number":52,"context_line":"                        continue"},{"line_number":53,"context_line":"                    param \u003d conf_indexes[0]"},{"line_number":54,"context_line":"                    if \u0027\u003d\u0027 in cmd[param]:"},{"line_number":55,"context_line":"                        neutron_conf \u003d cmd[param].split(\u0027\u003d\u0027)[1]"},{"line_number":56,"context_line":"                    else:"},{"line_number":57,"context_line":"                        neutron_conf \u003d cmd[param]"},{"line_number":58,"context_line":"            except (IOError, psutil.NoSuchProcess):"},{"line_number":59,"context_line":"                # Process has already terminated, ignore"},{"line_number":60,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_f4613b06","line":57,"range":{"start_line":50,"start_character":20,"end_line":57,"end_character":49},"updated":"2016-05-23 09:01:45.000000000","message":"I think it is not necessary to collect the indexes. We can work with the parameters. This would include some renaming. I would write this part like this (just a suggestion, you don\u0027t have to stick with it):\n\nneutron_config_params \u003d [param for param in cmd if \u0027neutron.conf\u0027 in param]\nif neutron_config_params:\n    neutron_config_parameter \u003d neutron_config_params[0]\n    if \u0027\u003d\u0027 in neutron_config_parameter:\n        neutron_conf \u003d neutron_config_parameter.split(\u0027\u003d\u0027)[1]\n    else:\n        neutron_conf \u003d neutron_config_parameter","commit_id":"e6d7f1a126c73cfab514488b98729969a4385c43"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"705c096d08c15abc51d8174ca50a03791e2fd85e","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            try:"},{"line_number":48,"context_line":"                cmd \u003d proc.cmdline()"},{"line_number":49,"context_line":"                if len(cmd) \u003e 2 and \u0027python\u0027 in cmd[0] and \u0027neutron\u0027 in cmd[1]:"},{"line_number":50,"context_line":"                    conf_indexes \u003d [cmd.index(y) for y in cmd if \u0027neutron.conf\u0027 in y]"},{"line_number":51,"context_line":"                    if not conf_indexes:"},{"line_number":52,"context_line":"                        continue"},{"line_number":53,"context_line":"                    param \u003d conf_indexes[0]"},{"line_number":54,"context_line":"                    if \u0027\u003d\u0027 in cmd[param]:"},{"line_number":55,"context_line":"                        neutron_conf \u003d cmd[param].split(\u0027\u003d\u0027)[1]"},{"line_number":56,"context_line":"                    else:"},{"line_number":57,"context_line":"                        neutron_conf \u003d cmd[param]"},{"line_number":58,"context_line":"            except (IOError, psutil.NoSuchProcess):"},{"line_number":59,"context_line":"                # Process has already terminated, ignore"},{"line_number":60,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_f43c9494","line":57,"range":{"start_line":50,"start_character":20,"end_line":57,"end_character":49},"in_reply_to":"bab6814e_f4613b06","updated":"2016-05-23 10:30:53.000000000","message":"Done","commit_id":"e6d7f1a126c73cfab514488b98729969a4385c43"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"fb3f1f1bf7ac83ac4b6cea0be09cea37e1ac453b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                proc_dict \u003d proc.as_dict()"},{"line_number":49,"context_line":"                if proc_dict[\u0027name\u0027] \u003d\u003d \u0027neutron-openvsw\u0027:"},{"line_number":50,"context_line":"                    cmd \u003d proc_dict[\u0027cmdline\u0027]"},{"line_number":51,"context_line":"                    neutron_config_params \u003d [param for param in cmd if \u0027neutron.conf\u0027 in param]"},{"line_number":52,"context_line":"                    if \u0027\u003d\u0027 in neutron_config_params:"},{"line_number":53,"context_line":"                        neutron_conf \u003d neutron_config_params.split(\u0027\u003d\u0027)[1]"},{"line_number":54,"context_line":"                    else:"},{"line_number":55,"context_line":"                        neutron_conf \u003d neutron_config_params[0]"},{"line_number":56,"context_line":"            except (IOError, psutil.NoSuchProcess):"},{"line_number":57,"context_line":"                # Process has already terminated, ignore"},{"line_number":58,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_b78a0e62","line":55,"range":{"start_line":51,"start_character":20,"end_line":55,"end_character":63},"updated":"2016-05-23 10:46:39.000000000","message":"A check seems to be missing here. To make sure that neutron_config_params is not the empty list. Then we have to chose the first element of it.\n\nif neutron_config_params:\n    neutron_config_parameter \u003d neutron_config_params[0]\n    if \u0027\u003d\u0027 in neutron_config_parameter:\n        neutron_conf \u003d neutron_config_parameter.split(\u0027\u003d\u0027)[1]\n    else:\n        neutron_conf \u003d neutron_config_parameter","commit_id":"49103b85e56a83d2733a1a1589388333417c7f14"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"e365a3866039c920a88735a57a761b2e0078daee","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                if proc_dict[\u0027name\u0027] \u003d\u003d \u0027neutron-openvsw\u0027:"},{"line_number":50,"context_line":"                    cmd \u003d proc_dict[\u0027cmdline\u0027]"},{"line_number":51,"context_line":"                    neutron_config_params \u003d [param for param in cmd if \u0027neutron.conf\u0027 in param]"},{"line_number":52,"context_line":"                    if \u0027\u003d\u0027 in neutron_config_params[0]:"},{"line_number":53,"context_line":"                        neutron_conf \u003d neutron_config_params[0].split(\u0027\u003d\u0027)[1]"},{"line_number":54,"context_line":"                    else:"},{"line_number":55,"context_line":"                        neutron_conf \u003d neutron_config_params[0]"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_4ce83b17","line":52,"range":{"start_line":52,"start_character":30,"end_line":52,"end_character":54},"updated":"2016-05-24 10:47:53.000000000","message":"I don\u0027t know if it\u0027s possible, but it may happen that there is no parameter that specifies neutron.conf, so this list would be empty. You can include a check whether neutron_config_params is empty or not before accessing the first element.\n\nYou did a similar check in your first patch set with conf_indexes.","commit_id":"65beda13b685ad9b9bb72974b0189ea2e5d21cb2"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"f9abebd20680df6abae5f2159271a6fec19362e7","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                if proc_dict[\u0027name\u0027] \u003d\u003d \u0027neutron-openvsw\u0027:"},{"line_number":50,"context_line":"                    cmd \u003d proc_dict[\u0027cmdline\u0027]"},{"line_number":51,"context_line":"                    neutron_config_params \u003d [param for param in cmd if \u0027neutron.conf\u0027 in param]"},{"line_number":52,"context_line":"                    if \u0027\u003d\u0027 in neutron_config_params[0]:"},{"line_number":53,"context_line":"                        neutron_conf \u003d neutron_config_params[0].split(\u0027\u003d\u0027)[1]"},{"line_number":54,"context_line":"                    else:"},{"line_number":55,"context_line":"                        neutron_conf \u003d neutron_config_params[0]"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab6814e_cc8f00cb","line":52,"range":{"start_line":52,"start_character":30,"end_line":52,"end_character":54},"in_reply_to":"bab6814e_4ce83b17","updated":"2016-05-24 13:41:31.000000000","message":"Thank you. I will incorporate that in my next patch.","commit_id":"65beda13b685ad9b9bb72974b0189ea2e5d21cb2"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"433ca339a633f4ab42531105a24270f6ae749441","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                if proc_dict[\u0027name\u0027] \u003d\u003d \u0027neutron-openvsw\u0027:"},{"line_number":52,"context_line":"                    cmd \u003d proc_dict[\u0027cmdline\u0027]"},{"line_number":53,"context_line":"                    neutron_config_params \u003d [param for param in cmd if \u0027neutron.conf\u0027 in param]"},{"line_number":54,"context_line":"                    if not neutron_config_params[0]:"},{"line_number":55,"context_line":"                        continue"},{"line_number":56,"context_line":"                    if \u0027\u003d\u0027 in neutron_config_params[0]:"},{"line_number":57,"context_line":"                        neutron_conf \u003d neutron_config_params[0].split(\u0027\u003d\u0027)[1]"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_5a925e4c","line":54,"range":{"start_line":54,"start_character":48,"end_line":54,"end_character":51},"updated":"2016-05-25 14:02:13.000000000","message":"remove this index","commit_id":"13d5de06947eaa10e282ca1a129391d0d6726edc"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"8d8fb351aea70214493aa89e8d6326b830e8a985","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                if proc_dict[\u0027name\u0027] \u003d\u003d \u0027neutron-openvsw\u0027:"},{"line_number":52,"context_line":"                    cmd \u003d proc_dict[\u0027cmdline\u0027]"},{"line_number":53,"context_line":"                    neutron_config_params \u003d [param for param in cmd if \u0027neutron.conf\u0027 in param]"},{"line_number":54,"context_line":"                    if not neutron_config_params[0]:"},{"line_number":55,"context_line":"                        continue"},{"line_number":56,"context_line":"                    if \u0027\u003d\u0027 in neutron_config_params[0]:"},{"line_number":57,"context_line":"                        neutron_conf \u003d neutron_config_params[0].split(\u0027\u003d\u0027)[1]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9abb7d3a_af92239d","line":54,"range":{"start_line":54,"start_character":48,"end_line":54,"end_character":51},"in_reply_to":"bab6814e_5a925e4c","updated":"2016-05-31 05:18:12.000000000","message":"Done","commit_id":"13d5de06947eaa10e282ca1a129391d0d6726edc"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f65bdcfffa5bc6a4a2f364caad699b78759cfe59","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            except (IOError, psutil.NoSuchProcess):"},{"line_number":66,"context_line":"                # Process has already terminated, ignore"},{"line_number":67,"context_line":"                continue"},{"line_number":68,"context_line":"        if (neutron_conf is not None and os.path.isfile(neutron_conf)):"},{"line_number":69,"context_line":"            self.available \u003d True"},{"line_number":70,"context_line":"            self.neutron_conf \u003d neutron_conf"},{"line_number":71,"context_line":"            self.check_dpdk \u003d check_dpdk"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_dcaf67e1","line":68,"range":{"start_line":68,"start_character":49,"end_line":68,"end_character":55},"updated":"2016-05-25 14:59:20.000000000","message":"still would like an log message that you can not find the neutron conf. to know why the detection failed.","commit_id":"13d5de06947eaa10e282ca1a129391d0d6726edc"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"178dcdbd6a39cbe130e6f15660d0ef3e6ded466b","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            except (IOError, psutil.NoSuchProcess):"},{"line_number":66,"context_line":"                # Process has already terminated, ignore"},{"line_number":67,"context_line":"                continue"},{"line_number":68,"context_line":"        if (neutron_conf is not None and os.path.isfile(neutron_conf)):"},{"line_number":69,"context_line":"            self.available \u003d True"},{"line_number":70,"context_line":"            self.neutron_conf \u003d neutron_conf"},{"line_number":71,"context_line":"            self.check_dpdk \u003d check_dpdk"}],"source_content_type":"text/x-python","patch_set":5,"id":"9abb7d3a_6b81864d","line":68,"range":{"start_line":68,"start_character":49,"end_line":68,"end_character":55},"in_reply_to":"bab6814e_dcaf67e1","updated":"2016-06-03 05:39:01.000000000","message":"Done","commit_id":"13d5de06947eaa10e282ca1a129391d0d6726edc"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"38f1c123ee18cea2290076eab3ca2188c6d6b640","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            if self.args:"},{"line_number":117,"context_line":"                for arg in self.args:"},{"line_number":118,"context_line":"                    if arg in acceptable_args:"},{"line_number":119,"context_line":"                        init_config[arg] \u003d self.literal_eval(self.args[arg])"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"            config[\u0027ovs\u0027] \u003d {\u0027init_config\u0027: init_config,"},{"line_number":122,"context_line":"                             \u0027instances\u0027: []}"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_3a783af2","line":119,"range":{"start_line":119,"start_character":36,"end_line":119,"end_character":39},"updated":"2016-05-25 14:05:20.000000000","message":"should you log a log message if you they provide a non valid argument. Maybe at log.warn? So they know","commit_id":"13d5de06947eaa10e282ca1a129391d0d6726edc"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"69f4a28d39fb6378469720599d30d59c6d5185b2","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            if self.args:"},{"line_number":117,"context_line":"                for arg in self.args:"},{"line_number":118,"context_line":"                    if arg in acceptable_args:"},{"line_number":119,"context_line":"                        init_config[arg] \u003d self.literal_eval(self.args[arg])"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"            config[\u0027ovs\u0027] \u003d {\u0027init_config\u0027: init_config,"},{"line_number":122,"context_line":"                             \u0027instances\u0027: []}"}],"source_content_type":"text/x-python","patch_set":5,"id":"9abb7d3a_2f93d350","line":119,"range":{"start_line":119,"start_character":36,"end_line":119,"end_character":39},"in_reply_to":"bab6814e_3a783af2","updated":"2016-05-31 05:34:45.000000000","message":"Its a good thing I think. I will do it.","commit_id":"13d5de06947eaa10e282ca1a129391d0d6726edc"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f65bdcfffa5bc6a4a2f364caad699b78759cfe59","unresolved":false,"context_lines":[{"line_number":129,"context_line":"            import neutronclient.v2_0.client"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        except ImportError:"},{"line_number":132,"context_line":"            log.warn(\"\\tDependencies not satisfied; plugin not configured.\")"},{"line_number":133,"context_line":"            return False"},{"line_number":134,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":5,"id":"bab6814e_39bfa561","line":132,"range":{"start_line":132,"start_character":20,"end_line":132,"end_character":23},"updated":"2016-05-25 14:59:20.000000000","message":"should this be an error instead of a warn?","commit_id":"13d5de06947eaa10e282ca1a129391d0d6726edc"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"8d8fb351aea70214493aa89e8d6326b830e8a985","unresolved":false,"context_lines":[{"line_number":129,"context_line":"            import neutronclient.v2_0.client"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        except ImportError:"},{"line_number":132,"context_line":"            log.warn(\"\\tDependencies not satisfied; plugin not configured.\")"},{"line_number":133,"context_line":"            return False"},{"line_number":134,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":5,"id":"9abb7d3a_4fea9710","line":132,"range":{"start_line":132,"start_character":20,"end_line":132,"end_character":23},"in_reply_to":"bab6814e_39bfa561","updated":"2016-05-31 05:18:12.000000000","message":"Done","commit_id":"13d5de06947eaa10e282ca1a129391d0d6726edc"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"b7687c7bc61e773ef2e09e4b4f610bea1f04a18f","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        except ImportError:"},{"line_number":123,"context_line":"            log.error(\"\\tDependencies not satisfied; plugin not configured.\")"},{"line_number":124,"context_line":"            return False"},{"line_number":125,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":7,"id":"9abb7d3a_820a2824","line":124,"range":{"start_line":124,"start_character":19,"end_line":124,"end_character":24},"updated":"2016-06-01 18:55:27.000000000","message":"we should throw/raise an exception here as you are not configuring the plugin. Right now this would still return an empty config above.","commit_id":"ec758d8886d165a20b573f9ab8fe520a1dfcd954"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"208de7b241ece73cae348b739d77ce2dfa2f0fe8","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        except ImportError:"},{"line_number":123,"context_line":"            log.error(\"\\tDependencies not satisfied; plugin not configured.\")"},{"line_number":124,"context_line":"            return False"},{"line_number":125,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":7,"id":"9abb7d3a_cbab52d5","line":124,"range":{"start_line":124,"start_character":19,"end_line":124,"end_character":24},"in_reply_to":"9abb7d3a_820a2824","updated":"2016-06-03 05:38:33.000000000","message":"Done","commit_id":"ec758d8886d165a20b573f9ab8fe520a1dfcd954"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"5db3049a800e439a2307783505757725356f19fc","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"            # Create an identity URI (again, slightly different for Devstack)"},{"line_number":105,"context_line":"            if neutron_cfg.has_option(cfg_section, \u0027auth_url\u0027):"},{"line_number":106,"context_line":"                init_config[\u0027identity_uri\u0027] \u003d \"{0}\".format(neutron_cfg.get(cfg_section, \u0027auth_url\u0027))"},{"line_number":107,"context_line":"            else:"},{"line_number":108,"context_line":"                init_config[\u0027identity_uri\u0027] \u003d \"{0}\".format(neutron_cfg.get(cfg_section, \u0027identity_uri\u0027))"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9abb7d3a_f1a8fbdd","line":106,"range":{"start_line":106,"start_character":46,"end_line":106,"end_character":100},"updated":"2016-06-02 10:55:15.000000000","message":"I think str(neutron_cfg.get(cfg_section, \u0027auth_url\u0027)) would work too.","commit_id":"6ac4de401fe0d4ae4f25f44e1ce3e066f7e5299b"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"c9f011923cb4098eceb32b69595b1cdde8fc2dd4","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"            # Create an identity URI (again, slightly different for Devstack)"},{"line_number":105,"context_line":"            if neutron_cfg.has_option(cfg_section, \u0027auth_url\u0027):"},{"line_number":106,"context_line":"                init_config[\u0027identity_uri\u0027] \u003d \"{0}\".format(neutron_cfg.get(cfg_section, \u0027auth_url\u0027))"},{"line_number":107,"context_line":"            else:"},{"line_number":108,"context_line":"                init_config[\u0027identity_uri\u0027] \u003d \"{0}\".format(neutron_cfg.get(cfg_section, \u0027identity_uri\u0027))"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9abb7d3a_eb6736e8","line":106,"range":{"start_line":106,"start_character":46,"end_line":106,"end_character":100},"in_reply_to":"9abb7d3a_f1a8fbdd","updated":"2016-06-03 05:38:07.000000000","message":"Done","commit_id":"6ac4de401fe0d4ae4f25f44e1ce3e066f7e5299b"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"5db3049a800e439a2307783505757725356f19fc","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            if neutron_cfg.has_option(cfg_section, \u0027auth_url\u0027):"},{"line_number":106,"context_line":"                init_config[\u0027identity_uri\u0027] \u003d \"{0}\".format(neutron_cfg.get(cfg_section, \u0027auth_url\u0027))"},{"line_number":107,"context_line":"            else:"},{"line_number":108,"context_line":"                init_config[\u0027identity_uri\u0027] \u003d \"{0}\".format(neutron_cfg.get(cfg_section, \u0027identity_uri\u0027))"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"            # Create an region_name (again, slightly different for Devstack)"},{"line_number":111,"context_line":"            if neutron_cfg.has_option(\u0027service_auth\u0027, \u0027region\u0027):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9abb7d3a_d180574c","line":108,"range":{"start_line":108,"start_character":46,"end_line":108,"end_character":104},"updated":"2016-06-02 10:55:15.000000000","message":"ditto","commit_id":"6ac4de401fe0d4ae4f25f44e1ce3e066f7e5299b"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"c9f011923cb4098eceb32b69595b1cdde8fc2dd4","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            if neutron_cfg.has_option(cfg_section, \u0027auth_url\u0027):"},{"line_number":106,"context_line":"                init_config[\u0027identity_uri\u0027] \u003d \"{0}\".format(neutron_cfg.get(cfg_section, \u0027auth_url\u0027))"},{"line_number":107,"context_line":"            else:"},{"line_number":108,"context_line":"                init_config[\u0027identity_uri\u0027] \u003d \"{0}\".format(neutron_cfg.get(cfg_section, \u0027identity_uri\u0027))"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"            # Create an region_name (again, slightly different for Devstack)"},{"line_number":111,"context_line":"            if neutron_cfg.has_option(\u0027service_auth\u0027, \u0027region\u0027):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9abb7d3a_cb64f2e6","line":108,"range":{"start_line":108,"start_character":46,"end_line":108,"end_character":104},"in_reply_to":"9abb7d3a_d180574c","updated":"2016-06-03 05:38:07.000000000","message":"Done","commit_id":"6ac4de401fe0d4ae4f25f44e1ce3e066f7e5299b"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"5db3049a800e439a2307783505757725356f19fc","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"            # Create an region_name (again, slightly different for Devstack)"},{"line_number":111,"context_line":"            if neutron_cfg.has_option(\u0027service_auth\u0027, \u0027region\u0027):"},{"line_number":112,"context_line":"                init_config[\u0027region_name\u0027] \u003d \"{0}\".format(neutron_cfg.get(\u0027service_auth\u0027, \u0027region\u0027))"},{"line_number":113,"context_line":"            else:"},{"line_number":114,"context_line":"                init_config[\u0027region_name\u0027] \u003d \"{0}\".format(neutron_cfg.get(\u0027nova\u0027, \u0027region_name\u0027))"},{"line_number":115,"context_line":"            # Handle monasca-setup detection arguments, which take precedence"}],"source_content_type":"text/x-python","patch_set":9,"id":"9abb7d3a_117bff7c","line":112,"range":{"start_line":112,"start_character":45,"end_line":112,"end_character":100},"updated":"2016-06-02 10:55:15.000000000","message":"ditto","commit_id":"6ac4de401fe0d4ae4f25f44e1ce3e066f7e5299b"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"c9f011923cb4098eceb32b69595b1cdde8fc2dd4","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"            # Create an region_name (again, slightly different for Devstack)"},{"line_number":111,"context_line":"            if neutron_cfg.has_option(\u0027service_auth\u0027, \u0027region\u0027):"},{"line_number":112,"context_line":"                init_config[\u0027region_name\u0027] \u003d \"{0}\".format(neutron_cfg.get(\u0027service_auth\u0027, \u0027region\u0027))"},{"line_number":113,"context_line":"            else:"},{"line_number":114,"context_line":"                init_config[\u0027region_name\u0027] \u003d \"{0}\".format(neutron_cfg.get(\u0027nova\u0027, \u0027region_name\u0027))"},{"line_number":115,"context_line":"            # Handle monasca-setup detection arguments, which take precedence"}],"source_content_type":"text/x-python","patch_set":9,"id":"9abb7d3a_2b62ded8","line":112,"range":{"start_line":112,"start_character":45,"end_line":112,"end_character":100},"in_reply_to":"9abb7d3a_117bff7c","updated":"2016-06-03 05:38:07.000000000","message":"Done","commit_id":"6ac4de401fe0d4ae4f25f44e1ce3e066f7e5299b"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"5db3049a800e439a2307783505757725356f19fc","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            if neutron_cfg.has_option(\u0027service_auth\u0027, \u0027region\u0027):"},{"line_number":112,"context_line":"                init_config[\u0027region_name\u0027] \u003d \"{0}\".format(neutron_cfg.get(\u0027service_auth\u0027, \u0027region\u0027))"},{"line_number":113,"context_line":"            else:"},{"line_number":114,"context_line":"                init_config[\u0027region_name\u0027] \u003d \"{0}\".format(neutron_cfg.get(\u0027nova\u0027, \u0027region_name\u0027))"},{"line_number":115,"context_line":"            # Handle monasca-setup detection arguments, which take precedence"},{"line_number":116,"context_line":"            if self.args:"},{"line_number":117,"context_line":"                for arg in self.args:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9abb7d3a_319283a0","line":114,"range":{"start_line":114,"start_character":45,"end_line":114,"end_character":97},"updated":"2016-06-02 10:55:15.000000000","message":"ditto","commit_id":"6ac4de401fe0d4ae4f25f44e1ce3e066f7e5299b"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"c9f011923cb4098eceb32b69595b1cdde8fc2dd4","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            if neutron_cfg.has_option(\u0027service_auth\u0027, \u0027region\u0027):"},{"line_number":112,"context_line":"                init_config[\u0027region_name\u0027] \u003d \"{0}\".format(neutron_cfg.get(\u0027service_auth\u0027, \u0027region\u0027))"},{"line_number":113,"context_line":"            else:"},{"line_number":114,"context_line":"                init_config[\u0027region_name\u0027] \u003d \"{0}\".format(neutron_cfg.get(\u0027nova\u0027, \u0027region_name\u0027))"},{"line_number":115,"context_line":"            # Handle monasca-setup detection arguments, which take precedence"},{"line_number":116,"context_line":"            if self.args:"},{"line_number":117,"context_line":"                for arg in self.args:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9abb7d3a_0b5f1a0f","line":114,"range":{"start_line":114,"start_character":45,"end_line":114,"end_character":97},"in_reply_to":"9abb7d3a_319283a0","updated":"2016-06-03 05:38:07.000000000","message":"Done","commit_id":"6ac4de401fe0d4ae4f25f44e1ce3e066f7e5299b"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"04962547a4b99fd3e66c419690f0fcfc2402a695","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# Acceptable arguments"},{"line_number":31,"context_line":"acceptable_args \u003d [\u0027admin_user\u0027, \u0027admin_password\u0027, \u0027admin_tenant_name\u0027,"},{"line_number":32,"context_line":"                   \u0027identity_uri\u0027, \u0027cache_dir\u0027, \u0027neutron_refresh\u0027, \u0027ovs_cmd\u0027,"},{"line_number":33,"context_line":"                   \u0027network_use_bits\u0027, \u0027check_router_ha\u0027, \u0027region_name\u0027,"},{"line_number":34,"context_line":"                   \u0027speed\u0027, \u0027included_interface_re\u0027]"},{"line_number":35,"context_line":"# Regular expression to match the URI version"},{"line_number":36,"context_line":"uri_version_re \u003d re.compile(\u0027.*v2.0|.*v3.0|.*v1|.*v2\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_2180f8bf","line":33,"range":{"start_line":33,"start_character":40,"end_line":33,"end_character":55},"updated":"2016-06-07 15:16:53.000000000","message":"What is the default value for check_router_ha?","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"dcfebccc5089a2383a5c75c91320db3ad8feb19d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# Acceptable arguments"},{"line_number":31,"context_line":"acceptable_args \u003d [\u0027admin_user\u0027, \u0027admin_password\u0027, \u0027admin_tenant_name\u0027,"},{"line_number":32,"context_line":"                   \u0027identity_uri\u0027, \u0027cache_dir\u0027, \u0027neutron_refresh\u0027, \u0027ovs_cmd\u0027,"},{"line_number":33,"context_line":"                   \u0027network_use_bits\u0027, \u0027check_router_ha\u0027, \u0027region_name\u0027,"},{"line_number":34,"context_line":"                   \u0027speed\u0027, \u0027included_interface_re\u0027]"},{"line_number":35,"context_line":"# Regular expression to match the URI version"},{"line_number":36,"context_line":"uri_version_re \u003d re.compile(\u0027.*v2.0|.*v3.0|.*v1|.*v2\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_fa3dc48f","line":33,"range":{"start_line":33,"start_character":40,"end_line":33,"end_character":55},"in_reply_to":"7aa08908_2180f8bf","updated":"2016-06-08 11:45:37.000000000","message":"By default it will be true.","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"04962547a4b99fd3e66c419690f0fcfc2402a695","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        # Detect Agent\u0027s OS username by getting the group owner of confg file"},{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            gid \u003d os.stat(\u0027/etc/monasca/agent/agent.yaml\u0027).st_gid"},{"line_number":47,"context_line":"            self.agent_user \u003d grp.getgrgid(gid)[0]"},{"line_number":48,"context_line":"        except OSError:"},{"line_number":49,"context_line":"            self.agent_user \u003d None"},{"line_number":50,"context_line":"        # Try to detect the location of the Neutron configuration file."}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_7ee621b1","line":47,"range":{"start_line":47,"start_character":12,"end_line":47,"end_character":27},"updated":"2016-06-07 15:16:53.000000000","message":"self.agent_user is not used. Why are you setting it?","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"dcfebccc5089a2383a5c75c91320db3ad8feb19d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        # Detect Agent\u0027s OS username by getting the group owner of confg file"},{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            gid \u003d os.stat(\u0027/etc/monasca/agent/agent.yaml\u0027).st_gid"},{"line_number":47,"context_line":"            self.agent_user \u003d grp.getgrgid(gid)[0]"},{"line_number":48,"context_line":"        except OSError:"},{"line_number":49,"context_line":"            self.agent_user \u003d None"},{"line_number":50,"context_line":"        # Try to detect the location of the Neutron configuration file."}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_3a446c19","line":47,"range":{"start_line":47,"start_character":12,"end_line":47,"end_character":27},"in_reply_to":"7aa08908_7ee621b1","updated":"2016-06-08 11:45:37.000000000","message":"I have removed it.","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"04962547a4b99fd3e66c419690f0fcfc2402a695","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            self.agent_user \u003d grp.getgrgid(gid)[0]"},{"line_number":48,"context_line":"        except OSError:"},{"line_number":49,"context_line":"            self.agent_user \u003d None"},{"line_number":50,"context_line":"        # Try to detect the location of the Neutron configuration file."},{"line_number":51,"context_line":"        # Walk through the list of processes, searching for \u0027neutron\u0027"},{"line_number":52,"context_line":"        # process with \u0027neutron.conf\u0027 inside one of the parameters."},{"line_number":53,"context_line":"        neutron_conf \u003d None"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_7e10e159","line":50,"range":{"start_line":50,"start_character":6,"end_line":50,"end_character":71},"updated":"2016-06-07 15:16:53.000000000","message":"Can you add neutron_conf as an optional argument to monasca_setup? The caller is likely to know the location of the configuration file they want to use","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":15130,"name":"Sonu","email":"sonu.sudhakaran@gmail.com","username":"sonu"},"change_message_id":"234a68c270aa7a85ede95fcc57683ae1c7689f5f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            self.agent_user \u003d grp.getgrgid(gid)[0]"},{"line_number":48,"context_line":"        except OSError:"},{"line_number":49,"context_line":"            self.agent_user \u003d None"},{"line_number":50,"context_line":"        # Try to detect the location of the Neutron configuration file."},{"line_number":51,"context_line":"        # Walk through the list of processes, searching for \u0027neutron\u0027"},{"line_number":52,"context_line":"        # process with \u0027neutron.conf\u0027 inside one of the parameters."},{"line_number":53,"context_line":"        neutron_conf \u003d None"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_da4c48ca","line":50,"range":{"start_line":50,"start_character":6,"end_line":50,"end_character":71},"in_reply_to":"7aa08908_7e10e159","updated":"2016-06-08 10:08:11.000000000","message":"Craig What happens if the user gives both neutron.conf and \"admin_user\", \"admin_password\",\"admin_tenant\" and \"identity_url\" in parameter.\n\nSince these parameters are loaded from neutron.conf, wouldn\u0027t we have an un-certainty in deciding which one to pick?\n\nOther option would be to make parameters dependent on neutron.conf and path to neutron.conf mutually exclusive for setup and we log warning ignoring user provided parameters for neutron.conf entry.","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"dcfebccc5089a2383a5c75c91320db3ad8feb19d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            self.agent_user \u003d grp.getgrgid(gid)[0]"},{"line_number":48,"context_line":"        except OSError:"},{"line_number":49,"context_line":"            self.agent_user \u003d None"},{"line_number":50,"context_line":"        # Try to detect the location of the Neutron configuration file."},{"line_number":51,"context_line":"        # Walk through the list of processes, searching for \u0027neutron\u0027"},{"line_number":52,"context_line":"        # process with \u0027neutron.conf\u0027 inside one of the parameters."},{"line_number":53,"context_line":"        neutron_conf \u003d None"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_7a4a7427","line":50,"range":{"start_line":50,"start_character":6,"end_line":50,"end_character":71},"in_reply_to":"7aa08908_7e10e159","updated":"2016-06-08 11:45:37.000000000","message":"Done","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"feafabc446e086489e750bab0616c02b0bdd61c1","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            self.available \u003d True"},{"line_number":71,"context_line":"            self.neutron_conf \u003d neutron_conf"},{"line_number":72,"context_line":"        else:"},{"line_number":73,"context_line":"            log.warn(\"Neutron configuration file not found!!!\")"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def build_config(self):"},{"line_number":76,"context_line":"        \"\"\"Build the config as a Plugins object and return."}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_c4e1459c","line":73,"range":{"start_line":73,"start_character":22,"end_line":73,"end_character":29},"updated":"2016-06-07 17:48:00.000000000","message":"make this an log.error","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"dcfebccc5089a2383a5c75c91320db3ad8feb19d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            self.available \u003d True"},{"line_number":71,"context_line":"            self.neutron_conf \u003d neutron_conf"},{"line_number":72,"context_line":"        else:"},{"line_number":73,"context_line":"            log.warn(\"Neutron configuration file not found!!!\")"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def build_config(self):"},{"line_number":76,"context_line":"        \"\"\"Build the config as a Plugins object and return."}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_1a6090a4","line":73,"range":{"start_line":73,"start_character":22,"end_line":73,"end_character":29},"in_reply_to":"7aa08908_c4e1459c","updated":"2016-06-08 11:45:37.000000000","message":"Done","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"04962547a4b99fd3e66c419690f0fcfc2402a695","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            cfg_section \u003d \u0027keystone_authtoken\u0027"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"            # Handle Devstack\u0027s slightly different neutron.conf names"},{"line_number":90,"context_line":"            if(neutron_cfg.has_option(cfg_section, \u0027username\u0027) and"},{"line_number":91,"context_line":"               neutron_cfg.has_option(cfg_section, \u0027password\u0027) and"},{"line_number":92,"context_line":"               neutron_cfg.has_option(cfg_section, \u0027project_name\u0027)):"},{"line_number":93,"context_line":"                cfg_needed \u003d {\u0027admin_user\u0027: \u0027username\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_e1fef0ac","line":90,"range":{"start_line":90,"start_character":12,"end_line":90,"end_character":15},"updated":"2016-06-07 15:16:53.000000000","message":"Should be a space after the if","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"dcfebccc5089a2383a5c75c91320db3ad8feb19d","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            cfg_section \u003d \u0027keystone_authtoken\u0027"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"            # Handle Devstack\u0027s slightly different neutron.conf names"},{"line_number":90,"context_line":"            if(neutron_cfg.has_option(cfg_section, \u0027username\u0027) and"},{"line_number":91,"context_line":"               neutron_cfg.has_option(cfg_section, \u0027password\u0027) and"},{"line_number":92,"context_line":"               neutron_cfg.has_option(cfg_section, \u0027project_name\u0027)):"},{"line_number":93,"context_line":"                cfg_needed \u003d {\u0027admin_user\u0027: \u0027username\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_8d972847","line":90,"range":{"start_line":90,"start_character":12,"end_line":90,"end_character":15},"in_reply_to":"7aa08908_e1fef0ac","updated":"2016-06-08 11:45:37.000000000","message":"Done","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"04962547a4b99fd3e66c419690f0fcfc2402a695","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            if self.args:"},{"line_number":126,"context_line":"                for arg in self.args:"},{"line_number":127,"context_line":"                    if arg in acceptable_args:"},{"line_number":128,"context_line":"                        init_config[arg] \u003d self.literal_eval(self.args[arg])"},{"line_number":129,"context_line":"                    else:"},{"line_number":130,"context_line":"                        log.warn(\"Invalid argument \u0027{0}\u0027 \""},{"line_number":131,"context_line":"                                 \"has been provided!!!\".format(arg))"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_e12a708f","line":128,"range":{"start_line":128,"start_character":24,"end_line":128,"end_character":76},"updated":"2016-06-07 15:16:53.000000000","message":"It would be better to validate that included_interface_re is a valid re at the time it is set so it won\u0027t cause a failure when it is compiled in checks_d/ovs.py","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"dcfebccc5089a2383a5c75c91320db3ad8feb19d","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            if self.args:"},{"line_number":126,"context_line":"                for arg in self.args:"},{"line_number":127,"context_line":"                    if arg in acceptable_args:"},{"line_number":128,"context_line":"                        init_config[arg] \u003d self.literal_eval(self.args[arg])"},{"line_number":129,"context_line":"                    else:"},{"line_number":130,"context_line":"                        log.warn(\"Invalid argument \u0027{0}\u0027 \""},{"line_number":131,"context_line":"                                 \"has been provided!!!\".format(arg))"}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_5a24d85e","line":128,"range":{"start_line":128,"start_character":24,"end_line":128,"end_character":76},"in_reply_to":"7aa08908_e12a708f","updated":"2016-06-08 11:45:37.000000000","message":"Done","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"92441dd3b564db573ee4ac30bc7e3e234b0901f5","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                            neutron_conf \u003d neutron_config_params[0].split(\u0027\u003d\u0027)[1]"},{"line_number":64,"context_line":"                        else:"},{"line_number":65,"context_line":"                            neutron_conf \u003d neutron_config_params[0]"},{"line_number":66,"context_line":"                except (IOError, psutil.NoSuchProcess):"},{"line_number":67,"context_line":"                    # Process has already terminated, ignore"},{"line_number":68,"context_line":"                    continue"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_280dde37","line":66,"range":{"start_line":66,"start_character":16,"end_line":66,"end_character":22},"updated":"2016-06-09 18:00:11.000000000","message":"can we have log error message ?","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"d1a520bc8f09c032ee939019877393b0cf2b2ef2","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                            neutron_conf \u003d neutron_config_params[0].split(\u0027\u003d\u0027)[1]"},{"line_number":64,"context_line":"                        else:"},{"line_number":65,"context_line":"                            neutron_conf \u003d neutron_config_params[0]"},{"line_number":66,"context_line":"                except (IOError, psutil.NoSuchProcess):"},{"line_number":67,"context_line":"                    # Process has already terminated, ignore"},{"line_number":68,"context_line":"                    continue"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_d876a9d7","line":66,"range":{"start_line":66,"start_character":16,"end_line":66,"end_character":22},"in_reply_to":"7aa08908_280dde37","updated":"2016-06-09 19:01:05.000000000","message":"As the process has already been terminated, it may end up not getting the neutron_conf value, which will log error. So I don\u0027t think its necessary to log error one more time.","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"92441dd3b564db573ee4ac30bc7e3e234b0901f5","unresolved":false,"context_lines":[{"line_number":71,"context_line":"            self.available \u003d True"},{"line_number":72,"context_line":"            self.neutron_conf \u003d neutron_conf"},{"line_number":73,"context_line":"        else:"},{"line_number":74,"context_line":"            log.error(\"Neutron configuration file not found!!!\")"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def build_config(self):"},{"line_number":77,"context_line":"        \"\"\"Build the config as a Plugins object and return."}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_e82f563c","line":74,"range":{"start_line":74,"start_character":59,"end_line":74,"end_character":64},"updated":"2016-06-09 18:00:11.000000000","message":"should we raise error if neutron.conf not present? without neutron.conf no point in running build_config in further places","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"21050de13389b93cf4069f4e483c466c2a3e71c4","unresolved":false,"context_lines":[{"line_number":71,"context_line":"            self.available \u003d True"},{"line_number":72,"context_line":"            self.neutron_conf \u003d neutron_conf"},{"line_number":73,"context_line":"        else:"},{"line_number":74,"context_line":"            log.error(\"Neutron configuration file not found!!!\")"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def build_config(self):"},{"line_number":77,"context_line":"        \"\"\"Build the config as a Plugins object and return."}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_886cd237","line":74,"range":{"start_line":74,"start_character":59,"end_line":74,"end_character":64},"in_reply_to":"7aa08908_e82f563c","updated":"2016-06-09 18:20:52.000000000","message":"if neutron conf is not present the build_config will not run as the self.available will be set to false","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"92441dd3b564db573ee4ac30bc7e3e234b0901f5","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        \"\"\""},{"line_number":80,"context_line":"        config \u003d monasca_setup.agent_config.Plugins()"},{"line_number":81,"context_line":"        if self.dependencies_installed():"},{"line_number":82,"context_line":"            neutron_cfg \u003d ConfigParser.SafeConfigParser()"},{"line_number":83,"context_line":"            log.info(\"\\tUsing neutron configuration file {0}\".format(self.neutron_conf))"},{"line_number":84,"context_line":"            neutron_cfg.read(self.neutron_conf)"},{"line_number":85,"context_line":"            cfg_needed \u003d {\u0027admin_user\u0027: \u0027admin_user\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_08cf42b4","line":82,"range":{"start_line":82,"start_character":12,"end_line":82,"end_character":23},"updated":"2016-06-09 18:00:11.000000000","message":"how about handling the case where neutron conf is missed?","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"21050de13389b93cf4069f4e483c466c2a3e71c4","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        \"\"\""},{"line_number":80,"context_line":"        config \u003d monasca_setup.agent_config.Plugins()"},{"line_number":81,"context_line":"        if self.dependencies_installed():"},{"line_number":82,"context_line":"            neutron_cfg \u003d ConfigParser.SafeConfigParser()"},{"line_number":83,"context_line":"            log.info(\"\\tUsing neutron configuration file {0}\".format(self.neutron_conf))"},{"line_number":84,"context_line":"            neutron_cfg.read(self.neutron_conf)"},{"line_number":85,"context_line":"            cfg_needed \u003d {\u0027admin_user\u0027: \u0027admin_user\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_327d4ce8","line":82,"range":{"start_line":82,"start_character":12,"end_line":82,"end_character":23},"in_reply_to":"7aa08908_08cf42b4","updated":"2016-06-09 18:20:52.000000000","message":"by default if self.available is set false the build_config will not be called so no need to handle the neutron conf missing case.","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"92441dd3b564db573ee4ac30bc7e3e234b0901f5","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            for option in cfg_needed:"},{"line_number":107,"context_line":"                init_config[option] \u003d neutron_cfg.get(cfg_section, cfg_needed[option])"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"            uri_version \u003d \u0027v2.0\u0027"},{"line_number":110,"context_line":"            if neutron_cfg.has_option(cfg_section, \u0027auth_version\u0027):"},{"line_number":111,"context_line":"                uri_version \u003d str(neutron_cfg.get(cfg_section, \u0027auth_version\u0027))"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_2824bead","line":109,"range":{"start_line":109,"start_character":30,"end_line":109,"end_character":31},"updated":"2016-06-09 18:00:11.000000000","message":"can we make varible for the uri version?","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"d1a520bc8f09c032ee939019877393b0cf2b2ef2","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            for option in cfg_needed:"},{"line_number":107,"context_line":"                init_config[option] \u003d neutron_cfg.get(cfg_section, cfg_needed[option])"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"            uri_version \u003d \u0027v2.0\u0027"},{"line_number":110,"context_line":"            if neutron_cfg.has_option(cfg_section, \u0027auth_version\u0027):"},{"line_number":111,"context_line":"                uri_version \u003d str(neutron_cfg.get(cfg_section, \u0027auth_version\u0027))"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_15c47a3e","line":109,"range":{"start_line":109,"start_character":30,"end_line":109,"end_character":31},"in_reply_to":"7aa08908_2824bead","updated":"2016-06-09 19:01:05.000000000","message":"Correct me if I am wrong uri_version is a variable right now?","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"92441dd3b564db573ee4ac30bc7e3e234b0901f5","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            if self.args:"},{"line_number":128,"context_line":"                for arg in self.args:"},{"line_number":129,"context_line":"                    if arg in acceptable_args and arg not in ignorable_args:"},{"line_number":130,"context_line":"                        if arg \u003d\u003d \u0027included_interface_re\u0027:"},{"line_number":131,"context_line":"                            try:"},{"line_number":132,"context_line":"                                re.compile(self.args[arg])"},{"line_number":133,"context_line":"                            except re.error as e:"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_686406e5","line":130,"range":{"start_line":130,"start_character":35,"end_line":130,"end_character":56},"updated":"2016-06-09 18:00:11.000000000","message":"make all the reusable key in as static variable instead of hardcoding","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"ab0025bf05be1b661a5f0b69b727aaa3758fd059","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            log.info(\"\\tUsing neutron configuration file {0}\".format(self.neutron_conf))"},{"line_number":83,"context_line":"            neutron_cfg.read(self.neutron_conf)"},{"line_number":84,"context_line":"            cfg_needed \u003d {\u0027admin_user\u0027: \u0027admin_user\u0027,"},{"line_number":85,"context_line":"                          \u0027admin_password\u0027: \u0027admin_password\u0027,"},{"line_number":86,"context_line":"                          \u0027admin_tenant_name\u0027: \u0027admin_tenant_name\u0027}"},{"line_number":87,"context_line":"            cfg_section \u003d \u0027keystone_authtoken\u0027"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7aa08908_b5ce30b2","line":85,"range":{"start_line":85,"start_character":27,"end_line":85,"end_character":41},"updated":"2016-06-10 05:12:22.000000000","message":"How about auth_url , region_name and endpoint_type in cfg_needed? as you know for getting neutronclient instance these are mandatory\nRemember region_name comes from nova section of neutron conf file","commit_id":"1f5df6f3f9995f1aeae0d91494a8513fce0ba2eb"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"ff05ac4fb9840fa18b61fb83fae357a83735e874","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            log.info(\"\\tUsing neutron configuration file {0}\".format(self.neutron_conf))"},{"line_number":83,"context_line":"            neutron_cfg.read(self.neutron_conf)"},{"line_number":84,"context_line":"            cfg_needed \u003d {\u0027admin_user\u0027: \u0027admin_user\u0027,"},{"line_number":85,"context_line":"                          \u0027admin_password\u0027: \u0027admin_password\u0027,"},{"line_number":86,"context_line":"                          \u0027admin_tenant_name\u0027: \u0027admin_tenant_name\u0027}"},{"line_number":87,"context_line":"            cfg_section \u003d \u0027keystone_authtoken\u0027"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7aa08908_f55a784f","line":85,"range":{"start_line":85,"start_character":27,"end_line":85,"end_character":41},"in_reply_to":"7aa08908_b5ce30b2","updated":"2016-06-10 06:33:48.000000000","message":"auth_url and region_name is being handled from line no 112 to 124. As you can see from the code I am already fetching region_name from the nova section. The ovs collector code is not expecting the endpoint_type as I can see from the collector code.","commit_id":"1f5df6f3f9995f1aeae0d91494a8513fce0ba2eb"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"ab0025bf05be1b661a5f0b69b727aaa3758fd059","unresolved":false,"context_lines":[{"line_number":91,"context_line":"               neutron_cfg.has_option(cfg_section, \u0027username\u0027) and"},{"line_number":92,"context_line":"               neutron_cfg.has_option(cfg_section, \u0027password\u0027) and"},{"line_number":93,"context_line":"               neutron_cfg.has_option(cfg_section, \u0027project_name\u0027)):"},{"line_number":94,"context_line":"                cfg_needed \u003d {\u0027admin_user\u0027: \u0027username\u0027,"},{"line_number":95,"context_line":"                              \u0027admin_password\u0027: \u0027password\u0027,"},{"line_number":96,"context_line":"                              \u0027admin_tenant_name\u0027: \u0027project_name\u0027}"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7aa08908_d5401c0a","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":16},"updated":"2016-06-10 05:12:22.000000000","message":"same as 85 comment","commit_id":"1f5df6f3f9995f1aeae0d91494a8513fce0ba2eb"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"ff05ac4fb9840fa18b61fb83fae357a83735e874","unresolved":false,"context_lines":[{"line_number":91,"context_line":"               neutron_cfg.has_option(cfg_section, \u0027username\u0027) and"},{"line_number":92,"context_line":"               neutron_cfg.has_option(cfg_section, \u0027password\u0027) and"},{"line_number":93,"context_line":"               neutron_cfg.has_option(cfg_section, \u0027project_name\u0027)):"},{"line_number":94,"context_line":"                cfg_needed \u003d {\u0027admin_user\u0027: \u0027username\u0027,"},{"line_number":95,"context_line":"                              \u0027admin_password\u0027: \u0027password\u0027,"},{"line_number":96,"context_line":"                              \u0027admin_tenant_name\u0027: \u0027project_name\u0027}"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7aa08908_3555201d","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":16},"in_reply_to":"7aa08908_d5401c0a","updated":"2016-06-10 06:33:48.000000000","message":"Same as line 85 reply.","commit_id":"1f5df6f3f9995f1aeae0d91494a8513fce0ba2eb"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"ab0025bf05be1b661a5f0b69b727aaa3758fd059","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            for option in cfg_needed:"},{"line_number":106,"context_line":"                init_config[option] \u003d neutron_cfg.get(cfg_section, cfg_needed[option])"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"            uri_version \u003d \u0027v2.0\u0027"},{"line_number":109,"context_line":"            if neutron_cfg.has_option(cfg_section, \u0027auth_version\u0027):"},{"line_number":110,"context_line":"                uri_version \u003d str(neutron_cfg.get(cfg_section, \u0027auth_version\u0027))"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7aa08908_75d7a823","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":12},"updated":"2016-06-10 05:12:22.000000000","message":"can we make consistency in declaring variable name for auth_version and uri_version?","commit_id":"1f5df6f3f9995f1aeae0d91494a8513fce0ba2eb"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"ff05ac4fb9840fa18b61fb83fae357a83735e874","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            for option in cfg_needed:"},{"line_number":106,"context_line":"                init_config[option] \u003d neutron_cfg.get(cfg_section, cfg_needed[option])"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"            uri_version \u003d \u0027v2.0\u0027"},{"line_number":109,"context_line":"            if neutron_cfg.has_option(cfg_section, \u0027auth_version\u0027):"},{"line_number":110,"context_line":"                uri_version \u003d str(neutron_cfg.get(cfg_section, \u0027auth_version\u0027))"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7aa08908_6a3502f6","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":12},"in_reply_to":"7aa08908_75d7a823","updated":"2016-06-10 06:33:48.000000000","message":"This is because to handle the slightly different configuration in neutron conf of devstack.","commit_id":"1f5df6f3f9995f1aeae0d91494a8513fce0ba2eb"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"ab0025bf05be1b661a5f0b69b727aaa3758fd059","unresolved":false,"context_lines":[{"line_number":106,"context_line":"                init_config[option] \u003d neutron_cfg.get(cfg_section, cfg_needed[option])"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"            uri_version \u003d \u0027v2.0\u0027"},{"line_number":109,"context_line":"            if neutron_cfg.has_option(cfg_section, \u0027auth_version\u0027):"},{"line_number":110,"context_line":"                uri_version \u003d str(neutron_cfg.get(cfg_section, \u0027auth_version\u0027))"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"            # Create an identity URI (again, slightly different for Devstack)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7aa08908_7530489f","line":109,"range":{"start_line":109,"start_character":0,"end_line":109,"end_character":12},"updated":"2016-06-10 05:12:22.000000000","message":"are you sure in devstack auth_version key exists in neutron conf?","commit_id":"1f5df6f3f9995f1aeae0d91494a8513fce0ba2eb"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"ff05ac4fb9840fa18b61fb83fae357a83735e874","unresolved":false,"context_lines":[{"line_number":106,"context_line":"                init_config[option] \u003d neutron_cfg.get(cfg_section, cfg_needed[option])"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"            uri_version \u003d \u0027v2.0\u0027"},{"line_number":109,"context_line":"            if neutron_cfg.has_option(cfg_section, \u0027auth_version\u0027):"},{"line_number":110,"context_line":"                uri_version \u003d str(neutron_cfg.get(cfg_section, \u0027auth_version\u0027))"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"            # Create an identity URI (again, slightly different for Devstack)"}],"source_content_type":"text/x-python","patch_set":19,"id":"7aa08908_c76d0fce","line":109,"range":{"start_line":109,"start_character":0,"end_line":109,"end_character":12},"in_reply_to":"7aa08908_7530489f","updated":"2016-06-10 06:33:48.000000000","message":"As I have checked its present in the neutron conf.","commit_id":"1f5df6f3f9995f1aeae0d91494a8513fce0ba2eb"}],"tests/detection/__init__.py":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"feafabc446e086489e750bab0616c02b0bdd61c1","unresolved":false,"context_lines":[{"line_number":1,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_8450dd5f","line":1,"updated":"2016-06-07 17:48:00.000000000","message":"remove extra line","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"dcfebccc5089a2383a5c75c91320db3ad8feb19d","unresolved":false,"context_lines":[{"line_number":1,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"7aa08908_ba15fce5","line":1,"in_reply_to":"7aa08908_8450dd5f","updated":"2016-06-08 11:45:37.000000000","message":"Done","commit_id":"d193ff50448b6186c993a3ded83e793cd25b10c7"}],"tests/detection/test_ovs.py":[{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"92441dd3b564db573ee4ac30bc7e3e234b0901f5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import ConfigParser"},{"line_number":2,"context_line":"import contextlib"},{"line_number":3,"context_line":"import grp"},{"line_number":4,"context_line":"import logging"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_881fb208","line":1,"range":{"start_line":1,"start_character":7,"end_line":1,"end_character":19},"updated":"2016-06-09 18:00:11.000000000","message":"Add Copyright","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"f2837ac89cb628dfc7744f09c7792546718a9722","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import ConfigParser"},{"line_number":2,"context_line":"import contextlib"},{"line_number":3,"context_line":"import grp"},{"line_number":4,"context_line":"import logging"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_662552ad","line":1,"range":{"start_line":1,"start_character":7,"end_line":1,"end_character":19},"in_reply_to":"7aa08908_881fb208","updated":"2016-06-09 19:23:45.000000000","message":"Done","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":10781,"name":"selvakumar","email":"selvakumar.s2@hpe.com","username":"selvakumar"},"change_message_id":"92441dd3b564db573ee4ac30bc7e3e234b0901f5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import ConfigParser"},{"line_number":2,"context_line":"import contextlib"},{"line_number":3,"context_line":"import grp"},{"line_number":4,"context_line":"import logging"},{"line_number":5,"context_line":"import os"},{"line_number":6,"context_line":"import psutil"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_689fe650","line":3,"range":{"start_line":3,"start_character":6,"end_line":3,"end_character":7},"updated":"2016-06-09 18:00:11.000000000","message":"I am not sure whether the package structure is correct or not ? did you check Jenkins ran these unit test cases?","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"d1a520bc8f09c032ee939019877393b0cf2b2ef2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import ConfigParser"},{"line_number":2,"context_line":"import contextlib"},{"line_number":3,"context_line":"import grp"},{"line_number":4,"context_line":"import logging"},{"line_number":5,"context_line":"import os"},{"line_number":6,"context_line":"import psutil"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_b56486e5","line":3,"range":{"start_line":3,"start_character":6,"end_line":3,"end_character":7},"in_reply_to":"7aa08908_689fe650","updated":"2016-06-09 19:01:05.000000000","message":"The jenkins has ran the test cases and the console log shows no failure.","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"},{"author":{"_account_id":14838,"name":"Gandharva","email":"gandharva666@gmail.com","username":"Gandharva"},"change_message_id":"f2837ac89cb628dfc7744f09c7792546718a9722","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import ConfigParser"},{"line_number":2,"context_line":"import contextlib"},{"line_number":3,"context_line":"import grp"},{"line_number":4,"context_line":"import logging"},{"line_number":5,"context_line":"import os"},{"line_number":6,"context_line":"import psutil"}],"source_content_type":"text/x-python","patch_set":18,"id":"7aa08908_065f2e0f","line":3,"range":{"start_line":3,"start_character":6,"end_line":3,"end_character":7},"in_reply_to":"7aa08908_b56486e5","updated":"2016-06-09 19:23:45.000000000","message":"Done","commit_id":"19fe1c2da6f104487885d1fcbc4739e0798c60c9"}]}
