)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29393,"name":"Dariusz Król","email":"dkrol3@gmail.com","username":"d.krol"},"change_message_id":"ab86342d6885e223b9d642d52fd6a1cfab3ddef4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lingxian Kong \u003canlin.kong@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-02-18 10:12:30 +1300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ignore IP addresses in the management networks"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When management networks(`default_neutron_networks`) is configured, the"},{"line_number":10,"context_line":"management interface information should be invisible to the end users."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9fdfeff1_ff81eb4e","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":46},"updated":"2019-02-19 22:10:37.000000000","message":"Maybe a better overview would be:\nSkip IP addresses from management networks","commit_id":"ce261ee0d336caabd135b36bac7f9f0eed9fa505"}],"trove/common/neutron.py":[{"author":{"_account_id":28695,"name":"Bartosz Zurkowski","email":"b.zurkowski@samsung.com","username":"b.zurkowski"},"change_message_id":"82647168b646bc3795b948b16bd716f156bf907a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        return MGMT_NETWORKS"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    MGMT_NETWORKS \u003d []"},{"line_number":34,"context_line":"    if len(CONF.default_neutron_networks) \u003e 0:"},{"line_number":35,"context_line":"        neutron_client \u003d remote.create_neutron_client(context)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        for net_id in CONF.default_neutron_networks:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_1149368a","line":34,"updated":"2019-02-20 15:55:42.000000000","message":"Consider removing the condition since \"default_neutron_networks\" is an empty list by default and as such can be handled seamlessly by the subsequent for-loop. In this context, less nesting would improve readability.","commit_id":"7bf1b2870317934d6d6b7789262ae0de894c8472"}],"trove/instance/models.py":[{"author":{"_account_id":29393,"name":"Dariusz Król","email":"dkrol3@gmail.com","username":"d.krol"},"change_message_id":"ab86342d6885e223b9d642d52fd6a1cfab3ddef4","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        IPs \u003d []"},{"line_number":231,"context_line":"        mgmt_net_names \u003d []"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        if len(CONF.default_neutron_networks) \u003e 0:"},{"line_number":234,"context_line":"            # In multi-tenancy mode, all the addresses not in management"},{"line_number":235,"context_line":"            # network will be returned."},{"line_number":236,"context_line":"            neutron_client \u003d create_neutron_client(self.context)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_f1c4c410","line":233,"range":{"start_line":233,"start_character":11,"end_line":233,"end_character":48},"updated":"2019-02-19 22:10:37.000000000","message":"Couldn\u0027t we just use:\nif CONF.default_neutron_networks:\n  ...\n?","commit_id":"ce261ee0d336caabd135b36bac7f9f0eed9fa505"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"3be65ded6496f21615bc1a59c3a682aec46ee7eb","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        IPs \u003d []"},{"line_number":231,"context_line":"        mgmt_net_names \u003d []"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        if len(CONF.default_neutron_networks) \u003e 0:"},{"line_number":234,"context_line":"            # In multi-tenancy mode, all the addresses not in management"},{"line_number":235,"context_line":"            # network will be returned."},{"line_number":236,"context_line":"            neutron_client \u003d create_neutron_client(self.context)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_051262b5","line":233,"range":{"start_line":233,"start_character":11,"end_line":233,"end_character":48},"in_reply_to":"9fdfeff1_f1c4c410","updated":"2019-02-20 01:27:54.000000000","message":"We could, but I see no difference, it\u0027s just personal choice :-)","commit_id":"ce261ee0d336caabd135b36bac7f9f0eed9fa505"},{"author":{"_account_id":28695,"name":"Bartosz Zurkowski","email":"b.zurkowski@samsung.com","username":"b.zurkowski"},"change_message_id":"47b0bf4d36502ae120f1577a437b4cbf9040e0a4","unresolved":false,"context_lines":[{"line_number":236,"context_line":"            neutron_client \u003d create_neutron_client(self.context)"},{"line_number":237,"context_line":"            for net_id in CONF.default_neutron_networks:"},{"line_number":238,"context_line":"                mgmt_net_names.append("},{"line_number":239,"context_line":"                    neutron_client.show_network(net_id)[\u0027network\u0027][\u0027name\u0027])"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        for label in self.addresses:"},{"line_number":242,"context_line":"            if label in mgmt_net_names:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_99cec4b2","line":239,"range":{"start_line":239,"start_character":20,"end_line":239,"end_character":75},"updated":"2019-02-19 17:02:44.000000000","message":"This is very dangerous.\n\nLet\u0027s say you have 2 management networks defined in \"default_neutron_networks\" and 100 instances deployed in your environment. When listing the instances, Trove will call the \"get_visible_ip_addresses\" method for each instance to generate the view. Above implementation would result in 200 requests to Neutron - takes some time.\n\nRecently we identified similar issue related to listing clusters. In that case, for each instance being a member of the cluster Trove calls Nova to retrieve information about AZs. It takes ridiculously long. We must avoid such operations.\n\nPlease, try to elaborate different solution that would minimize the communication overhead. Maybe we should identify network names only once at service startup or replace network IDs in \"default_neutron_networks\" with network names. Let\u0027s discuss!","commit_id":"ce261ee0d336caabd135b36bac7f9f0eed9fa505"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"5f16fb7ffa578f825377e8e20851ee190beeb2bc","unresolved":false,"context_lines":[{"line_number":236,"context_line":"            neutron_client \u003d create_neutron_client(self.context)"},{"line_number":237,"context_line":"            for net_id in CONF.default_neutron_networks:"},{"line_number":238,"context_line":"                mgmt_net_names.append("},{"line_number":239,"context_line":"                    neutron_client.show_network(net_id)[\u0027network\u0027][\u0027name\u0027])"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        for label in self.addresses:"},{"line_number":242,"context_line":"            if label in mgmt_net_names:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_ab380dee","line":239,"range":{"start_line":239,"start_character":20,"end_line":239,"end_character":75},"in_reply_to":"9fdfeff1_99cec4b2","updated":"2019-02-19 19:24:06.000000000","message":"Hi Bartosz, thanks for the review, that\u0027s a valid concern, I will take some time today to fix that.","commit_id":"ce261ee0d336caabd135b36bac7f9f0eed9fa505"}]}
