)]}'
{"shade/meta.py":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"51e10bc1cdd2917fc1b8f6501e520a93e5ae95e7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    return get_server_ip(server, ext_tag\u003d\u0027floating\u0027, key_name\u003d\u0027public\u0027)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"def get_server_external_ipv4(cloud, server, key_name\u003d\u0027public\u0027):"},{"line_number":74,"context_line":"    \"\"\"Find an externally routable IP for the server."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    There are 5 different scenarios we have to account for:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_1456165c","line":73,"updated":"2015-06-23 18:51:25.000000000","message":"key_name? I don\u0027t know how we ended up with that, but it is really ambiguous. Oh well.","commit_id":"6c9227c02852890dd2b0537704f8e387e7fb334a"},{"author":{"_account_id":6550,"name":"Davide Guerri","email":"davide.guerri@gmail.com","username":"davide-guerri"},"change_message_id":"5501ac44123631dc567d4fe90cfe7617b182f6c1","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    # cloud (e.g. Rax) or have plain ol\u0027 floating IPs"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    # Try to get an address from a network named \u0027public\u0027"},{"line_number":124,"context_line":"    ext_ip \u003d get_server_ip(server, key_name\u003dkey_name)"},{"line_number":125,"context_line":"    if ext_ip is not None:"},{"line_number":126,"context_line":"        return ext_ip"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a50d1a3_04beda64","line":124,"updated":"2015-07-22 13:13:49.000000000","message":"I like this. But shouldn\u0027t we try to get an IP from `key_name` network before everything else (neutron block included) if the user explicitly specified a network name for external addresses?\n\nI would rename `key_name` to `external_network_name` (or something) and use None as default. Then, if it is not None, I would call get_server_ip before the neutron block. Else I would call it here with `public` as `key_name`","commit_id":"6c9227c02852890dd2b0537704f8e387e7fb334a"}]}
