)]}'
{"ceilometer/publisher/udp.py":[{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"bbcd5379babb2f7d590fca1d4b1c3b6557a325f2","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        try:"},{"line_number":42,"context_line":"            host_ip \u003d socket.getaddrinfo(self.host, None)[0][4][0]"},{"line_number":43,"context_line":"        except Exception as e:"},{"line_number":44,"context_line":"            LOG.warn(\"Cannot resolve host, exception %s\" % repr(e))"},{"line_number":45,"context_line":"            host_ip \u003d self.host"},{"line_number":46,"context_line":"        if netutils.is_valid_ipv6(host_ip):"},{"line_number":47,"context_line":"            addr_family \u003d socket.AF_INET6"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ac06dbe_2abafbc0","line":44,"updated":"2016-08-24 20:05:41.000000000","message":"From jenkins:\n\n2016-08-24 17:59:15.567869 | ./ceilometer/publisher/udp.py:44:13: C301 Use LOG.warning() rather than LOG.warn()\n2016-08-24 17:59:15.567961 |             LOG.warn(\"Cannot resolve host, exception %s\" % repr(e))","commit_id":"2c87d2a0ba3164fac5077194e81db48d283fc90d"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a738f5c7b6b46b9f888f60c961a093798308ff4b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"},{"line_number":41,"context_line":"        try:"},{"line_number":42,"context_line":"            host_ip \u003d socket.getaddrinfo(self.host, None)[0][4][0]"},{"line_number":43,"context_line":"        except Exception as e:"},{"line_number":44,"context_line":"            LOG.warning(\"Cannot resolve host, exception %s\" % repr(e))"},{"line_number":45,"context_line":"            host_ip \u003d self.host"},{"line_number":46,"context_line":"        if netutils.is_valid_ipv6(host_ip):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_a2b57ed1","line":43,"updated":"2016-08-25 20:02:31.000000000","message":"can we be more specific with this exception catch? what error you trying to catch?","commit_id":"e02a3c3fd34476008f72d279b6165b3e0efdb246"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a738f5c7b6b46b9f888f60c961a093798308ff4b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        try:"},{"line_number":42,"context_line":"            host_ip \u003d socket.getaddrinfo(self.host, None)[0][4][0]"},{"line_number":43,"context_line":"        except Exception as e:"},{"line_number":44,"context_line":"            LOG.warning(\"Cannot resolve host, exception %s\" % repr(e))"},{"line_number":45,"context_line":"            host_ip \u003d self.host"},{"line_number":46,"context_line":"        if netutils.is_valid_ipv6(host_ip):"},{"line_number":47,"context_line":"            addr_family \u003d socket.AF_INET6"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_02038a74","line":44,"updated":"2016-08-25 20:02:31.000000000","message":"should be translated:\n\n  LOG.warning(_LW(\"Cannot resolve host, exception %s\", e))","commit_id":"e02a3c3fd34476008f72d279b6165b3e0efdb246"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"50f2841c3550c981efad8b79e54180dd560c77b1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            parsed_url.netloc,"},{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"},{"line_number":41,"context_line":"        try:"},{"line_number":42,"context_line":"            host_ip \u003d socket.getaddrinfo(self.host, None)[0][4][0]"},{"line_number":43,"context_line":"        except socket.gaierror as e:"},{"line_number":44,"context_line":"            LOG.warning(_LW(\"Cannot resolve host, exception %s\"), e)"},{"line_number":45,"context_line":"            host_ip \u003d self.host"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_856f8e91","line":42,"updated":"2016-08-26 07:50:24.000000000","message":"That may really work as intended I think. It can returns both IPv6 and IPv4 address, and on my system picking the first one will use only IPv4.\n\nI\u0027m not sure I have a better idea though, so that may be good enough.","commit_id":"2de0829457fd300cb0d80b443c15d8a5ff92556b"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e17bcb5a948ebdfee6e147876049d137d070921b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            parsed_url.netloc,"},{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"},{"line_number":41,"context_line":"        host_ip \u003d None"},{"line_number":42,"context_line":"        addr_family \u003d None"},{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            addr_family \u003d default_family"},{"line_number":45,"context_line":"            host_ip \u003d socket.getaddrinfo(self.host, None, addr_family,"},{"line_number":46,"context_line":"                                         socket.SOCK_DGRAM)[0][4][0]"},{"line_number":47,"context_line":"        except socket.gaierror as e:"},{"line_number":48,"context_line":"            addr_family \u003d None"},{"line_number":49,"context_line":"        if host_ip is None:"},{"line_number":50,"context_line":"            try:"},{"line_number":51,"context_line":"                if default_family \u003d\u003d socket.AF_INET:"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa7ab95a_4c1e6ebb","line":48,"range":{"start_line":42,"start_character":8,"end_line":48,"end_character":30},"updated":"2016-08-26 16:04:07.000000000","message":"This whole addr_family can be way simpler. And I don\u0027t think we need something in kwargs TBH.","commit_id":"ec05238826ed15a65f71c01c1226720c285bfe59"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"85304b2532e19eda331f1a0887c572133bebe490","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        self.host, self.port \u003d netutils.parse_host_port("},{"line_number":39,"context_line":"            parsed_url.netloc,"},{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"},{"line_number":41,"context_line":"        host_ip \u003d None"},{"line_number":42,"context_line":"        addr_family \u003d None"},{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            addr_family \u003d default_family"},{"line_number":45,"context_line":"            host_ip \u003d socket.getaddrinfo(self.host, None, addr_family,"},{"line_number":46,"context_line":"                                         socket.SOCK_DGRAM)[0][4][0]"},{"line_number":47,"context_line":"        except socket.gaierror as e:"},{"line_number":48,"context_line":"            addr_family \u003d None"},{"line_number":49,"context_line":"        if host_ip is None:"},{"line_number":50,"context_line":"            try:"},{"line_number":51,"context_line":"                if default_family \u003d\u003d socket.AF_INET:"},{"line_number":52,"context_line":"                    addr_family \u003d socket.AF_INET6"},{"line_number":53,"context_line":"                else:"},{"line_number":54,"context_line":"                    addr_family \u003d socket.AF_INET"},{"line_number":55,"context_line":"                host_ip \u003d socket.getaddrinfo(self.host, None, addr_family,"},{"line_number":56,"context_line":"                                             socket.SOCK_DGRAM)[0][4][0]"},{"line_number":57,"context_line":"            except socket.gaierror as e:"},{"line_number":58,"context_line":"                LOG.warning(_LW(\"Cannot resolve host, exception %s\"), e)"},{"line_number":59,"context_line":"                host_ip \u003d self.host"},{"line_number":60,"context_line":"                addr_family \u003d None"},{"line_number":61,"context_line":"        self.socket \u003d socket.socket(addr_family,"},{"line_number":62,"context_line":"                                    socket.SOCK_DGRAM)"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa7ab95a_a78393cb","line":60,"range":{"start_line":41,"start_character":0,"end_line":60,"end_character":34},"updated":"2016-08-26 16:19:31.000000000","message":"we can probably simplify this:\n\n  host_ip \u003d None\n  alt_family \u003d socket.AF_INET6 if default_family \u003d\u003d socket.AF_INET else socket.AF_INET\n  try:\n      host_ip \u003d socket.getaddrinfo(self.host, None, default_family, socket.SOCK_DGRAM)[0][4][0] or socket.getaddrinfo(self.host, None, alt_family, socket.SOCK_DGRAM)[0][4][0]\n  except socket.gaierror as e:\n      LOG.warning(_LW(\"Cannot resolve host, exception %s\"), e)\n  if not host_ip:\n      host_ip \u003d self.host\n\ndisclaimer: i didn\u0027t test this","commit_id":"ec05238826ed15a65f71c01c1226720c285bfe59"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f4e2d0b130faa63b503449fc1a8e37a0b9f3e73f","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class UDPPublisher(publisher.PublisherBase):"},{"line_number":37,"context_line":"    def __init__(self, parsed_url, default_family\u003dsocket.AF_INET):"},{"line_number":38,"context_line":"        self.host, self.port \u003d netutils.parse_host_port("},{"line_number":39,"context_line":"            parsed_url.netloc,"},{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_702cbcab","line":37,"updated":"2016-08-28 09:57:39.000000000","message":"I\u0027m still not getting why this is there","commit_id":"9040f548a9b950fee7e104364fff29cefd324043"},{"author":{"_account_id":23122,"name":"Amy Fong","email":"amy.fong@windriver.com","username":"afong"},"change_message_id":"bc09d8c97f405c7f979cdd733dbd6020ed2e68a2","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class UDPPublisher(publisher.PublisherBase):"},{"line_number":37,"context_line":"    def __init__(self, parsed_url, default_family\u003dsocket.AF_INET):"},{"line_number":38,"context_line":"        self.host, self.port \u003d netutils.parse_host_port("},{"line_number":39,"context_line":"            parsed_url.netloc,"},{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_a70d2192","line":37,"in_reply_to":"fa7ab95a_702cbcab","updated":"2016-08-29 15:27:53.000000000","message":"The reason why I felt this additional parameter is needed is so that if an url, for example example.com has both an ipv4 and an ipv6 address, we\u0027d go with the default family for the socket creation. \n\nThe other alternative is to e.g. try looking for ipv6 first and if it exists, use that one....","commit_id":"9040f548a9b950fee7e104364fff29cefd324043"},{"author":{"_account_id":23122,"name":"Amy Fong","email":"amy.fong@windriver.com","username":"afong"},"change_message_id":"1ee9702468f6f8060af5e675beb41f6726e251c4","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class UDPPublisher(publisher.PublisherBase):"},{"line_number":37,"context_line":"    def __init__(self, parsed_url, default_family\u003dsocket.AF_INET):"},{"line_number":38,"context_line":"        self.host, self.port \u003d netutils.parse_host_port("},{"line_number":39,"context_line":"            parsed_url.netloc,"},{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_a85dbb16","line":37,"in_reply_to":"fa7ab95a_9d711b47","updated":"2016-08-29 19:05:08.000000000","message":"Ah, ok, I\u0027ll just remove the default value then, probably renaming as well? ie s/default_family/address_family/","commit_id":"9040f548a9b950fee7e104364fff29cefd324043"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"c3b3f1ec84ae8dfac52b0c76401e12b98a15c476","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class UDPPublisher(publisher.PublisherBase):"},{"line_number":37,"context_line":"    def __init__(self, parsed_url, default_family\u003dsocket.AF_INET):"},{"line_number":38,"context_line":"        self.host, self.port \u003d netutils.parse_host_port("},{"line_number":39,"context_line":"            parsed_url.netloc,"},{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_9d711b47","line":37,"in_reply_to":"fa7ab95a_a70d2192","updated":"2016-08-29 18:55:26.000000000","message":"i think the idea is that you can never actually set default_family.\n\nwe should let netutils parse out query string to allow user to pass in udp://host:port?address_family\u003dipv6... or just default to something.","commit_id":"9040f548a9b950fee7e104364fff29cefd324043"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"c3b3f1ec84ae8dfac52b0c76401e12b98a15c476","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            addr_family \u003d addrinfo[0]"},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            LOG.warning(_LW(\"Cannot resolve host %s\"), self.host)"},{"line_number":58,"context_line":"            addr_family \u003d default_family"},{"line_number":59,"context_line":"        self.socket \u003d socket.socket(addr_family,"},{"line_number":60,"context_line":"                                    socket.SOCK_DGRAM)"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_1db34bea","line":58,"updated":"2016-08-29 18:55:26.000000000","message":"you can just set this as default in line41","commit_id":"9040f548a9b950fee7e104364fff29cefd324043"},{"author":{"_account_id":23122,"name":"Amy Fong","email":"amy.fong@windriver.com","username":"afong"},"change_message_id":"1ee9702468f6f8060af5e675beb41f6726e251c4","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            addr_family \u003d addrinfo[0]"},{"line_number":56,"context_line":"        else:"},{"line_number":57,"context_line":"            LOG.warning(_LW(\"Cannot resolve host %s\"), self.host)"},{"line_number":58,"context_line":"            addr_family \u003d default_family"},{"line_number":59,"context_line":"        self.socket \u003d socket.socket(addr_family,"},{"line_number":60,"context_line":"                                    socket.SOCK_DGRAM)"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_e8a183f9","line":58,"in_reply_to":"fa7ab95a_1db34bea","updated":"2016-08-29 19:05:08.000000000","message":"will do","commit_id":"9040f548a9b950fee7e104364fff29cefd324043"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e3e0dd60a7e54e2eba0589d18ed43a648a5fd278","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class UDPPublisher(publisher.PublisherBase):"},{"line_number":37,"context_line":"    def __init__(self, parsed_url, pref_family):"},{"line_number":38,"context_line":"        self.host, self.port \u003d netutils.parse_host_port("},{"line_number":39,"context_line":"            parsed_url.netloc,"},{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_6fb29d4d","line":37,"updated":"2016-08-30 15:06:28.000000000","message":"drop this parameter completely.","commit_id":"a6acb5147c0816bde3ab4800ecd8d17ad1f96660"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e3e0dd60a7e54e2eba0589d18ed43a648a5fd278","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        self.host, self.port \u003d netutils.parse_host_port("},{"line_number":39,"context_line":"            parsed_url.netloc,"},{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"},{"line_number":41,"context_line":"        addr_family \u003d pref_family"},{"line_number":42,"context_line":"        addrinfo \u003d None"},{"line_number":43,"context_line":"        alt_family \u003d socket.AF_INET6 if (pref_family \u003d\u003d socket.AF_INET) \\"},{"line_number":44,"context_line":"            else socket.AF_INET"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_0f0af189","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":33},"updated":"2016-08-30 15:06:28.000000000","message":"this is probably not necessary because we defaulting","commit_id":"a6acb5147c0816bde3ab4800ecd8d17ad1f96660"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e3e0dd60a7e54e2eba0589d18ed43a648a5fd278","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            default_port\u003dcfg.CONF.collector.udp_port)"},{"line_number":41,"context_line":"        addr_family \u003d pref_family"},{"line_number":42,"context_line":"        addrinfo \u003d None"},{"line_number":43,"context_line":"        alt_family \u003d socket.AF_INET6 if (pref_family \u003d\u003d socket.AF_INET) \\"},{"line_number":44,"context_line":"            else socket.AF_INET"},{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            addrinfo \u003d socket.getaddrinfo(self.host, None, pref_family,"},{"line_number":47,"context_line":"                                          socket.SOCK_DGRAM)[0]"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_efdf8d0a","line":44,"range":{"start_line":43,"start_character":0,"end_line":44,"end_character":31},"updated":"2016-08-30 15:06:28.000000000","message":"same as above.","commit_id":"a6acb5147c0816bde3ab4800ecd8d17ad1f96660"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e3e0dd60a7e54e2eba0589d18ed43a648a5fd278","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        alt_family \u003d socket.AF_INET6 if (pref_family \u003d\u003d socket.AF_INET) \\"},{"line_number":44,"context_line":"            else socket.AF_INET"},{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            addrinfo \u003d socket.getaddrinfo(self.host, None, pref_family,"},{"line_number":47,"context_line":"                                          socket.SOCK_DGRAM)[0]"},{"line_number":48,"context_line":"        except socket.gaierror:"},{"line_number":49,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_4f287933","line":46,"updated":"2016-08-30 15:06:28.000000000","message":"just default to AF_INET6 first","commit_id":"a6acb5147c0816bde3ab4800ecd8d17ad1f96660"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e3e0dd60a7e54e2eba0589d18ed43a648a5fd278","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                                          socket.SOCK_DGRAM)[0]"},{"line_number":48,"context_line":"        except socket.gaierror:"},{"line_number":49,"context_line":"            try:"},{"line_number":50,"context_line":"                addrinfo \u003d socket.getaddrinfo(self.host, None, alt_family,"},{"line_number":51,"context_line":"                                              socket.SOCK_DGRAM)[0]"},{"line_number":52,"context_line":"            except socket.gaierror:"},{"line_number":53,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa7ab95a_cf1489ea","line":50,"updated":"2016-08-30 15:06:28.000000000","message":"try AF_INET as fallback","commit_id":"a6acb5147c0816bde3ab4800ecd8d17ad1f96660"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"0fcd6fb3464419ff28583442f685b577bd227523","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            LOG.warning(_LW("},{"line_number":55,"context_line":"                        \"Cannot resolve host %s, creating AF_INET socket...\"),"},{"line_number":56,"context_line":"                        self.host)"},{"line_number":57,"context_line":"            addr_family \u003d socket.AF_INET"},{"line_number":58,"context_line":"        self.socket \u003d socket.socket(addr_family,"},{"line_number":59,"context_line":"                                    socket.SOCK_DGRAM)"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fa7ab95a_17083f27","line":57,"updated":"2016-08-30 17:10:45.000000000","message":"Do you need to try to create an AF_INET socket as a fallback here ?\n\nWould it make sense to create the socket on L52 ?  And raise an exception if addrinfo is none ?","commit_id":"e41adba727b97bcc5c32d23b4a0cb9a1292bef5e"},{"author":{"_account_id":23122,"name":"Amy Fong","email":"amy.fong@windriver.com","username":"afong"},"change_message_id":"3007269a59c2d8af0e695b6f6e6d6ea7ad308d97","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            LOG.warning(_LW("},{"line_number":55,"context_line":"                        \"Cannot resolve host %s, creating AF_INET socket...\"),"},{"line_number":56,"context_line":"                        self.host)"},{"line_number":57,"context_line":"            addr_family \u003d socket.AF_INET"},{"line_number":58,"context_line":"        self.socket \u003d socket.socket(addr_family,"},{"line_number":59,"context_line":"                                    socket.SOCK_DGRAM)"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fa7ab95a_773d0b2a","line":57,"in_reply_to":"fa7ab95a_17083f27","updated":"2016-08-30 17:22:28.000000000","message":"Yes, I was debating on doing that. Will do that","commit_id":"e41adba727b97bcc5c32d23b4a0cb9a1292bef5e"},{"author":{"_account_id":23122,"name":"Amy Fong","email":"amy.fong@windriver.com","username":"afong"},"change_message_id":"f66d7d3f367878f68d6e8c2fed0cade00f1ad1f3","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            LOG.warning(_LW("},{"line_number":55,"context_line":"                        \"Cannot resolve host %s, creating AF_INET socket...\"),"},{"line_number":56,"context_line":"                        self.host)"},{"line_number":57,"context_line":"            addr_family \u003d socket.AF_INET"},{"line_number":58,"context_line":"        self.socket \u003d socket.socket(addr_family,"},{"line_number":59,"context_line":"                                    socket.SOCK_DGRAM)"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fa7ab95a_9429aa9d","line":57,"in_reply_to":"fa7ab95a_773d0b2a","updated":"2016-08-30 17:56:17.000000000","message":"Discovered one test case ceilometer/tests/unit/publisher/test_udp - test_published that expected the socket to be created and to be able to send with an invalid hostname.\n\nSo throwing an exception breaks that test case","commit_id":"e41adba727b97bcc5c32d23b4a0cb9a1292bef5e"}],"ceilometer/tests/unit/publisher/test_udp.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"2a935529a2fbd96ac090fd8d273e9ac381dfa2b7","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                               socket.AF_INET6)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def test_publisher_udp_socket_ipv4_hostname(self):"},{"line_number":131,"context_line":"        self._check_udp_socket(\u0027udp://iana.org:4952\u0027,"},{"line_number":132,"context_line":"                               socket.AF_INET)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def test_publisher_udp_socket_ipv6_hostname(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_b7113ab2","line":131,"updated":"2016-08-25 22:15:19.000000000","message":"hmm.. i wonder if the test vm can actually access external network to resolve this? let\u0027s see","commit_id":"2de0829457fd300cb0d80b443c15d8a5ff92556b"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"50f2841c3550c981efad8b79e54180dd560c77b1","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                               socket.AF_INET6)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def test_publisher_udp_socket_ipv4_hostname(self):"},{"line_number":131,"context_line":"        self._check_udp_socket(\u0027udp://iana.org:4952\u0027,"},{"line_number":132,"context_line":"                               socket.AF_INET)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def test_publisher_udp_socket_ipv6_hostname(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa7ab95a_0587fe61","line":131,"in_reply_to":"fa7ab95a_b7113ab2","updated":"2016-08-26 07:50:24.000000000","message":"no they can\u0027t, so it\u0027s not a good idea to use exertnal hosts","commit_id":"2de0829457fd300cb0d80b443c15d8a5ff92556b"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e17bcb5a948ebdfee6e147876049d137d070921b","unresolved":false,"context_lines":[{"line_number":153,"context_line":"                                          socket.SOCK_DGRAM)"},{"line_number":154,"context_line":"            url \u003d \"udp://\"+host+\":4952\""},{"line_number":155,"context_line":"            self._check_udp_socketv6(url, socket.AF_INET6)"},{"line_number":156,"context_line":"        except socket.gaierror as e:"},{"line_number":157,"context_line":"            # cannot resolve not running test"},{"line_number":158,"context_line":"            return"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa7ab95a_ccd6fec4","line":156,"updated":"2016-08-26 16:04:07.000000000","message":"Your try/catch is way too large IMHO…","commit_id":"ec05238826ed15a65f71c01c1226720c285bfe59"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e17bcb5a948ebdfee6e147876049d137d070921b","unresolved":false,"context_lines":[{"line_number":155,"context_line":"            self._check_udp_socketv6(url, socket.AF_INET6)"},{"line_number":156,"context_line":"        except socket.gaierror as e:"},{"line_number":157,"context_line":"            # cannot resolve not running test"},{"line_number":158,"context_line":"            return"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def test_published(self):"},{"line_number":161,"context_line":"        self.data_sent \u003d []"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa7ab95a_2c4f6abe","line":158,"updated":"2016-08-26 16:04:07.000000000","message":"better use self.skipTest","commit_id":"ec05238826ed15a65f71c01c1226720c285bfe59"}]}
