)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"61f8d7fd1ec7ff1bcc4ea19cfd5f0f0688e60d19","unresolved":false,"context_lines":[{"line_number":11,"context_line":"that require networks to be deallocated and reallocated, access_ip_* is"},{"line_number":12,"context_line":"never updated again, leaving old information there."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The old build path (which is still in-tree ATM) updates access_ip_* only"},{"line_number":15,"context_line":"when instance goes ACTIVE, so it always has correct info. The easiest"},{"line_number":16,"context_line":"fix for the new build path is to revert to this old behavior."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"fa32b979_86bebffd","line":14,"range":{"start_line":14,"start_character":19,"end_line":14,"end_character":47},"updated":"2015-06-22 14:48:23.000000000","message":"This is no longer accurate.","commit_id":"a3322c54eef05d1305532a098a07241333e9e5fc"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"81b82f32c27579b133f8c3a793229ec27ce4b3d5","unresolved":false,"context_lines":[{"line_number":11,"context_line":"that require networks to be deallocated and reallocated, access_ip_* is"},{"line_number":12,"context_line":"never updated again, leaving old information there."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The old build path (which is still in-tree ATM) updates access_ip_* only"},{"line_number":15,"context_line":"when instance goes ACTIVE, so it always has correct info. The easiest"},{"line_number":16,"context_line":"fix for the new build path is to revert to this old behavior."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1a4dcd0f_47bffda9","line":14,"in_reply_to":"fa32b979_86bebffd","updated":"2015-08-06 09:14:08.000000000","message":"ok, thanks for the review, \n\nI think there is no \u0027old\u0027 build patch now ? so remove those commit message should be fine? thanks","commit_id":"a3322c54eef05d1305532a098a07241333e9e5fc"}],"nova/compute/manager.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"441bb6404f19e4faf1e851f09f626d9a543126a1","unresolved":false,"context_lines":[{"line_number":2389,"context_line":"                            instance.access_ip_v4 \u003d ip[\u0027address\u0027]"},{"line_number":2390,"context_line":"                        if ip[\u0027version\u0027] \u003d\u003d 6:"},{"line_number":2391,"context_line":"                            instance.access_ip_v6 \u003d ip[\u0027address\u0027]"},{"line_number":2392,"context_line":"                    break"},{"line_number":2393,"context_line":""},{"line_number":2394,"context_line":"        self._update_instance_after_spawn(context, instance)"},{"line_number":2395,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a0c5dc1_e440f309","line":2392,"updated":"2015-05-12 09:28:36.000000000","message":"put hose in \u0027_update_instance_after_spawn\u0027 looks like better, but it isn\u0027t something big.","commit_id":"429725c52c79e63e287f8987f1a2b94ae2369704"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"f1aadb1baa3cba91400f0736e2bc1e3dc5fc4366","unresolved":false,"context_lines":[{"line_number":2101,"context_line":"            for vif in network_info:"},{"line_number":2102,"context_line":"                if vif[\u0027network\u0027][\u0027label\u0027] \u003d\u003d network_name:"},{"line_number":2103,"context_line":"                    for ip in vif.fixed_ips():"},{"line_number":2104,"context_line":"                        if ip[\u0027version\u0027] \u003d\u003d 4:"},{"line_number":2105,"context_line":"                            instance.access_ip_v4 \u003d ip[\u0027address\u0027]"},{"line_number":2106,"context_line":"                        if ip[\u0027version\u0027] \u003d\u003d 6:"},{"line_number":2107,"context_line":"                            instance.access_ip_v6 \u003d ip[\u0027address\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a016987_24752eca","line":2104,"updated":"2015-05-30 15:04:06.000000000","message":"should we change the check a bit here? Will help pick the first one (as well as the case where in 2097 if instance v4 is set and v6 is not set then in the loop here, we force the ip_v4 as well.)\n\n    if not instance.access_ip_v4 and ip[\u0027version\u0027] \u003d\u003d 4:\n        instance.acces_ip_v4 - ip[\u0027address\u0027]","commit_id":"49e40464ed64fb9c07c4229e1cca0634f5edb4ba"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"5a229560cae0db9a0768117d8e17b623675c8cc6","unresolved":false,"context_lines":[{"line_number":2101,"context_line":"            for vif in network_info:"},{"line_number":2102,"context_line":"                if vif[\u0027network\u0027][\u0027label\u0027] \u003d\u003d network_name:"},{"line_number":2103,"context_line":"                    for ip in vif.fixed_ips():"},{"line_number":2104,"context_line":"                        if ip[\u0027version\u0027] \u003d\u003d 4:"},{"line_number":2105,"context_line":"                            instance.access_ip_v4 \u003d ip[\u0027address\u0027]"},{"line_number":2106,"context_line":"                        if ip[\u0027version\u0027] \u003d\u003d 6:"},{"line_number":2107,"context_line":"                            instance.access_ip_v6 \u003d ip[\u0027address\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1af86dd1_c41a7317","line":2104,"in_reply_to":"7a016987_24752eca","updated":"2015-06-12 20:05:47.000000000","message":"ok, let me update it , thanks","commit_id":"49e40464ed64fb9c07c4229e1cca0634f5edb4ba"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bee8c759ecd708f3707692a11cc4033501d6850f","unresolved":false,"context_lines":[{"line_number":2060,"context_line":"        # corresponding network and set the access ip values accordingly."},{"line_number":2061,"context_line":"        network_name \u003d CONF.default_access_ip_network_name"},{"line_number":2062,"context_line":"        if (network_name and not instance.access_ip_v4 and"},{"line_number":2063,"context_line":"                not instance.access_ip_v6):"},{"line_number":2064,"context_line":"            # Note that when there are multiple ips to choose from, an"},{"line_number":2065,"context_line":"            # arbitrary one will be chosen."},{"line_number":2066,"context_line":"            for vif in network_info:"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba15a1d1_4baf3094","line":2063,"updated":"2015-09-16 07:54:12.000000000","message":"here we\u0027re assuming that both v4 and v6 IP addresses are unset but we set those fields each separately below (L2069). \n\nSince it\u0027s called in _build_and_run_instance() that doesn\u0027t necessarly need to be idempotent (we assume we have a fresh new instance with empty fields) but could you please confirm that it\u0027s fine ?","commit_id":"c049f56278f4414fe366ec137fbf2caa4946c644"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"1e38bc0bf2e6b4cc789928666736c07527f33fd6","unresolved":false,"context_lines":[{"line_number":2060,"context_line":"        # corresponding network and set the access ip values accordingly."},{"line_number":2061,"context_line":"        network_name \u003d CONF.default_access_ip_network_name"},{"line_number":2062,"context_line":"        if (network_name and not instance.access_ip_v4 and"},{"line_number":2063,"context_line":"                not instance.access_ip_v6):"},{"line_number":2064,"context_line":"            # Note that when there are multiple ips to choose from, an"},{"line_number":2065,"context_line":"            # arbitrary one will be chosen."},{"line_number":2066,"context_line":"            for vif in network_info:"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba15a1d1_48a884db","line":2063,"in_reply_to":"ba15a1d1_4baf3094","updated":"2015-09-16 14:16:55.000000000","message":"This just copies the same logic that was used before so if this is a bug it\u0027s not being made worse in this change.  But though the ip addresses are set separately it seems safe to assume that if one is set that we got through the block below successfully.  I don\u0027t see any real source of failure that would cause the assignments to fail early.","commit_id":"c049f56278f4414fe366ec137fbf2caa4946c644"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bee8c759ecd708f3707692a11cc4033501d6850f","unresolved":false,"context_lines":[{"line_number":3857,"context_line":"                    netaddr.IPAddress(\u00272001:db8:0:1:dcad:beff:feef:1\u0027),"},{"line_number":3858,"context_line":"                    \u0027access_ip_v4\u0027: netaddr.IPAddress(\u0027192.168.1.100\u0027),"},{"line_number":3859,"context_line":"                    \u0027power_state\u0027: 0, \u0027task_state\u0027: None, \u0027launched_at\u0027:"},{"line_number":3860,"context_line":"                    mock.ANY, \u0027expected_task_state\u0027: \u0027spawning\u0027}"},{"line_number":3861,"context_line":"            expected_call \u003d mock.call(self.context, self.instance.uuid,"},{"line_number":3862,"context_line":"                    updates, columns_to_join\u003d[\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":3863,"context_line":"                        \u0027info_cache\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba15a1d1_2b367c52","line":3860,"updated":"2015-09-16 07:54:12.000000000","message":"see, the test is good but that implies that the instance is always not having *both* v4 and v6 IP fields before calling the method","commit_id":"c049f56278f4414fe366ec137fbf2caa4946c644"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"1e38bc0bf2e6b4cc789928666736c07527f33fd6","unresolved":false,"context_lines":[{"line_number":3857,"context_line":"                    netaddr.IPAddress(\u00272001:db8:0:1:dcad:beff:feef:1\u0027),"},{"line_number":3858,"context_line":"                    \u0027access_ip_v4\u0027: netaddr.IPAddress(\u0027192.168.1.100\u0027),"},{"line_number":3859,"context_line":"                    \u0027power_state\u0027: 0, \u0027task_state\u0027: None, \u0027launched_at\u0027:"},{"line_number":3860,"context_line":"                    mock.ANY, \u0027expected_task_state\u0027: \u0027spawning\u0027}"},{"line_number":3861,"context_line":"            expected_call \u003d mock.call(self.context, self.instance.uuid,"},{"line_number":3862,"context_line":"                    updates, columns_to_join\u003d[\u0027metadata\u0027, \u0027system_metadata\u0027,"},{"line_number":3863,"context_line":"                        \u0027info_cache\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba15a1d1_08960c93","line":3860,"in_reply_to":"ba15a1d1_2b367c52","updated":"2015-09-16 14:16:55.000000000","message":"True.  However there is no failure that can occur after setting the addresses that will cause a reschedule.  So _build_and_run_instance should only ever be called with neither address set.","commit_id":"c049f56278f4414fe366ec137fbf2caa4946c644"}]}
