)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0d1079fce7a645e2a37548d86a619773b9780369","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Reorder name normalization for DNS"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Having the truncation step as the last one meant we could truncate to"},{"line_number":10,"context_line":"a trailing hyphen. This could potential cause a failure for an invalid"},{"line_number":11,"context_line":"name. This commit reorders the normalization to put the truncation as"},{"line_number":12,"context_line":"the first step which should avoid that problem."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a57f1b5_793ac8e8","line":10,"range":{"start_line":10,"start_character":30,"end_line":10,"end_character":39},"updated":"2016-02-12 21:29:48.000000000","message":"potentially","commit_id":"91cd34f926d4176de6a4b5e5a1e64b05b3ff819a"}],"nova/utils.py":[{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"8efcbcd10f28804dfa04c0554d28eaddb94e73e0","unresolved":false,"context_lines":[{"line_number":802,"context_line":"        if six.PY3:"},{"line_number":803,"context_line":"            hostname \u003d hostname.decode(\u0027latin-1\u0027)"},{"line_number":804,"context_line":""},{"line_number":805,"context_line":"    hostname \u003d truncate_hostname(hostname)"},{"line_number":806,"context_line":"    hostname \u003d re.sub(\u0027[ _]\u0027, \u0027-\u0027, hostname)"},{"line_number":807,"context_line":"    hostname \u003d re.sub(\u0027[^\\w.-]+\u0027, \u0027\u0027, hostname)"},{"line_number":808,"context_line":"    hostname \u003d hostname.lower()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_f92eb8a3","line":805,"range":{"start_line":805,"start_character":15,"end_line":805,"end_character":32},"updated":"2016-02-12 21:30:40.000000000","message":"Truncating here could end up being a little more aggressive than before because L807 and L809 could shorten the string even more from the 63 character max.  I\u0027m not sure this is something to worry about.  I just thought I\u0027d point it out.\n\nYou might consider truncating before L809 to delay the truncation as much as possible while still not allowing leading or trailing hyphens.","commit_id":"84b7a0400d28b3591dcab8948e1352c1295194e4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"37557c459b5d7e78a52c49a905e49cacf1db93f6","unresolved":false,"context_lines":[{"line_number":794,"context_line":"            LOG.warning(_LW(\"Hostname %(hostname)s is longer than 63, \""},{"line_number":795,"context_line":"                            \"truncate it to %(truncated_name)s\"),"},{"line_number":796,"context_line":"                            {\u0027hostname\u0027: name, \u0027truncated_name\u0027: name[:63]})"},{"line_number":797,"context_line":"        return name[:63]"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    if isinstance(hostname, six.text_type):"},{"line_number":800,"context_line":"        # Remove characters outside the Unicode range U+0000-U+00FF"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_37e21730","line":797,"range":{"start_line":797,"start_character":15,"end_line":797,"end_character":24},"updated":"2016-02-12 21:53:14.000000000","message":"FWIW, when I was writing a patch for this I was adding a second .strip(\u0027.-\u0027) here.","commit_id":"91cd34f926d4176de6a4b5e5a1e64b05b3ff819a"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"9645efb961a06ed3dd29121a9f7129d9a3655ced","unresolved":false,"context_lines":[{"line_number":794,"context_line":"            LOG.warning(_LW(\"Hostname %(hostname)s is longer than 63, \""},{"line_number":795,"context_line":"                            \"truncate it to %(truncated_name)s\"),"},{"line_number":796,"context_line":"                            {\u0027hostname\u0027: name, \u0027truncated_name\u0027: name[:63]})"},{"line_number":797,"context_line":"        return name[:63]"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    if isinstance(hostname, six.text_type):"},{"line_number":800,"context_line":"        # Remove characters outside the Unicode range U+0000-U+00FF"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_577b13c1","line":797,"range":{"start_line":797,"start_character":15,"end_line":797,"end_character":24},"in_reply_to":"3a57f1b5_17035bb9","updated":"2016-02-12 22:07:19.000000000","message":"I thought about that but I think that when truncation comes into play users shouldn\u0027t expect a certain outcome. If they\u0027re using names longer than 63 characters with the intent that they\u0027ll look a certain way after truncation they\u0027re not using the system in a well defined way.","commit_id":"91cd34f926d4176de6a4b5e5a1e64b05b3ff819a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"e0b2e5375b9bcc28d0888f26e8d81dde5b06d5cc","unresolved":false,"context_lines":[{"line_number":794,"context_line":"            LOG.warning(_LW(\"Hostname %(hostname)s is longer than 63, \""},{"line_number":795,"context_line":"                            \"truncate it to %(truncated_name)s\"),"},{"line_number":796,"context_line":"                            {\u0027hostname\u0027: name, \u0027truncated_name\u0027: name[:63]})"},{"line_number":797,"context_line":"        return name[:63]"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    if isinstance(hostname, six.text_type):"},{"line_number":800,"context_line":"        # Remove characters outside the Unicode range U+0000-U+00FF"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_17035bb9","line":797,"range":{"start_line":797,"start_character":15,"end_line":797,"end_character":24},"in_reply_to":"3a57f1b5_37e21730","updated":"2016-02-12 21:55:26.000000000","message":"Btw this change clearly modifies the truncation logic. Is there an expectation that this logic be consistent over releases? Or am I being paranoid?","commit_id":"91cd34f926d4176de6a4b5e5a1e64b05b3ff819a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"e90a32cf4fa2f0e432ba1186c887840a935c6526","unresolved":false,"context_lines":[{"line_number":794,"context_line":"            LOG.warning(_LW(\"Hostname %(hostname)s is longer than 63, \""},{"line_number":795,"context_line":"                            \"truncate it to %(truncated_name)s\"),"},{"line_number":796,"context_line":"                            {\u0027hostname\u0027: name, \u0027truncated_name\u0027: name[:63]})"},{"line_number":797,"context_line":"        return name[:63]"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    if isinstance(hostname, six.text_type):"},{"line_number":800,"context_line":"        # Remove characters outside the Unicode range U+0000-U+00FF"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a54edaf_63dae27a","line":797,"range":{"start_line":797,"start_character":15,"end_line":797,"end_character":24},"in_reply_to":"3a57f1b5_577b13c1","updated":"2016-02-13 01:17:54.000000000","message":"so, yes...I was being paranoid :)","commit_id":"91cd34f926d4176de6a4b5e5a1e64b05b3ff819a"}]}
