)]}'
{"heat/engine/resources/server.py":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"642d27618b2b351f3555a313c228994be853f4ec","unresolved":false,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    attributes_schema \u003d {"},{"line_number":262,"context_line":"        \u0027show\u0027: _(\u0027A dict of all server details as returned by the API.\u0027),"},{"line_number":263,"context_line":"        \u0027addresses\u0027: _(\u0027A dict of all network addresses as returned by \u0027"},{"line_number":264,"context_line":"                       \u0027the API.\u0027),"},{"line_number":265,"context_line":"        \u0027networks\u0027: _(\u0027A dict of assigned network addresses of the form: \u0027"},{"line_number":266,"context_line":"                      \u0027{\"public\": [ip1, ip2...], \"private\": [ip3, ip4]}.\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FcZg%3D","line":263,"updated":"2014-03-17 21:24:49.000000000","message":"Some comment here to say that port_id is included would be good.","commit_id":"525e2b5da4f51acd70ba4e31c86c6380e2d939a6"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"b4268a5f6ebcc3d8fe7dfff255b73f0f41255fae","unresolved":false,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    attributes_schema \u003d {"},{"line_number":262,"context_line":"        \u0027show\u0027: _(\u0027A dict of all server details as returned by the API.\u0027),"},{"line_number":263,"context_line":"        \u0027addresses\u0027: _(\u0027A dict of all network addresses as returned by \u0027"},{"line_number":264,"context_line":"                       \u0027the API.\u0027),"},{"line_number":265,"context_line":"        \u0027networks\u0027: _(\u0027A dict of assigned network addresses of the form: \u0027"},{"line_number":266,"context_line":"                      \u0027{\"public\": [ip1, ip2...], \"private\": [ip3, ip4]}.\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FY98%3D","line":263,"in_reply_to":"AAAAWH%2F%2FcZg%3D","updated":"2014-03-18 07:25:04.000000000","message":"Done","commit_id":"525e2b5da4f51acd70ba4e31c86c6380e2d939a6"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"642d27618b2b351f3555a313c228994be853f4ec","unresolved":false,"context_lines":[{"line_number":438,"context_line":"        return nics"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    def _add_port_for_address(self, server):"},{"line_number":441,"context_line":"        nets \u003d server.addresses"},{"line_number":442,"context_line":"        for net_name in nets:"},{"line_number":443,"context_line":"            for addr in nets[net_name]:"},{"line_number":444,"context_line":"                for iface in server.interface_list():"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FcYk%3D","line":441,"updated":"2014-03-17 21:24:49.000000000","message":"You should copy this before modifying it.","commit_id":"525e2b5da4f51acd70ba4e31c86c6380e2d939a6"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"b4268a5f6ebcc3d8fe7dfff255b73f0f41255fae","unresolved":false,"context_lines":[{"line_number":438,"context_line":"        return nics"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    def _add_port_for_address(self, server):"},{"line_number":441,"context_line":"        nets \u003d server.addresses"},{"line_number":442,"context_line":"        for net_name in nets:"},{"line_number":443,"context_line":"            for addr in nets[net_name]:"},{"line_number":444,"context_line":"                for iface in server.interface_list():"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FY94%3D","line":441,"in_reply_to":"AAAAWH%2F%2FcYk%3D","updated":"2014-03-18 07:25:04.000000000","message":"Done","commit_id":"525e2b5da4f51acd70ba4e31c86c6380e2d939a6"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"642d27618b2b351f3555a313c228994be853f4ec","unresolved":false,"context_lines":[{"line_number":441,"context_line":"        nets \u003d server.addresses"},{"line_number":442,"context_line":"        for net_name in nets:"},{"line_number":443,"context_line":"            for addr in nets[net_name]:"},{"line_number":444,"context_line":"                for iface in server.interface_list():"},{"line_number":445,"context_line":"                    if ((iface.mac_addr \u003d\u003d addr[\u0027OS-EXT-IPS-MAC:mac_addr\u0027] and"},{"line_number":446,"context_line":"                         iface.fixed_ips[0][\u0027ip_address\u0027] \u003d\u003d addr[\u0027addr\u0027])):"},{"line_number":447,"context_line":"                        addr[\u0027port\u0027] \u003d iface.port_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FcYo%3D","line":444,"updated":"2014-03-17 21:24:49.000000000","message":"interface_list makes an API call every time, you should only call it once","commit_id":"525e2b5da4f51acd70ba4e31c86c6380e2d939a6"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"b4268a5f6ebcc3d8fe7dfff255b73f0f41255fae","unresolved":false,"context_lines":[{"line_number":441,"context_line":"        nets \u003d server.addresses"},{"line_number":442,"context_line":"        for net_name in nets:"},{"line_number":443,"context_line":"            for addr in nets[net_name]:"},{"line_number":444,"context_line":"                for iface in server.interface_list():"},{"line_number":445,"context_line":"                    if ((iface.mac_addr \u003d\u003d addr[\u0027OS-EXT-IPS-MAC:mac_addr\u0027] and"},{"line_number":446,"context_line":"                         iface.fixed_ips[0][\u0027ip_address\u0027] \u003d\u003d addr[\u0027addr\u0027])):"},{"line_number":447,"context_line":"                        addr[\u0027port\u0027] \u003d iface.port_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FY9U%3D","line":444,"in_reply_to":"AAAAWH%2F%2FcYo%3D","updated":"2014-03-18 07:25:04.000000000","message":"Done","commit_id":"525e2b5da4f51acd70ba4e31c86c6380e2d939a6"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"642d27618b2b351f3555a313c228994be853f4ec","unresolved":false,"context_lines":[{"line_number":442,"context_line":"        for net_name in nets:"},{"line_number":443,"context_line":"            for addr in nets[net_name]:"},{"line_number":444,"context_line":"                for iface in server.interface_list():"},{"line_number":445,"context_line":"                    if ((iface.mac_addr \u003d\u003d addr[\u0027OS-EXT-IPS-MAC:mac_addr\u0027] and"},{"line_number":446,"context_line":"                         iface.fixed_ips[0][\u0027ip_address\u0027] \u003d\u003d addr[\u0027addr\u0027])):"},{"line_number":447,"context_line":"                        addr[\u0027port\u0027] \u003d iface.port_id"},{"line_number":448,"context_line":"                        break"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FcXc%3D","line":445,"updated":"2014-03-17 21:24:49.000000000","message":"If the OS-EXT-IPS-MAC:mac_addr value is unique, you could just create a dict of mac_addr-\u003eport_id at the top of this method, then do a lookup here to assign the port to the address.\n\nif the mac_addr is not unique, the key for the dict could be a (mac_addr, ip_address) tuple","commit_id":"525e2b5da4f51acd70ba4e31c86c6380e2d939a6"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"b4268a5f6ebcc3d8fe7dfff255b73f0f41255fae","unresolved":false,"context_lines":[{"line_number":442,"context_line":"        for net_name in nets:"},{"line_number":443,"context_line":"            for addr in nets[net_name]:"},{"line_number":444,"context_line":"                for iface in server.interface_list():"},{"line_number":445,"context_line":"                    if ((iface.mac_addr \u003d\u003d addr[\u0027OS-EXT-IPS-MAC:mac_addr\u0027] and"},{"line_number":446,"context_line":"                         iface.fixed_ips[0][\u0027ip_address\u0027] \u003d\u003d addr[\u0027addr\u0027])):"},{"line_number":447,"context_line":"                        addr[\u0027port\u0027] \u003d iface.port_id"},{"line_number":448,"context_line":"                        break"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FY6k%3D","line":445,"in_reply_to":"AAAAWH%2F%2FcXc%3D","updated":"2014-03-18 07:25:04.000000000","message":"Steve, when I have checked this patch I met problem that nova may return incorrect mac_address. I mean that we could have some addresses with same mac_addresess. I suppose, that it was internal nova problem in v1_1 API. \nFrom other side nova interface-list return correct data, unlike server.addresses.\nSo I prefer second variant. Also I leave a comment, that we could remove redundant parameter when v1_1 API will be deprecated and removed.","commit_id":"525e2b5da4f51acd70ba4e31c86c6380e2d939a6"}]}
