)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a7f4ecd92cbba4673bff1e6e87a1b69a55fa9e20","unresolved":true,"context_lines":[{"line_number":12,"context_line":"enabled then this attribute will be reported as the \u0027dns_name\u0027 value"},{"line_number":13,"context_line":"when attaching ports [1]."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Nova\u0027s sanitization of hostnames is good, but while it allows for FQDN,"},{"line_number":16,"context_line":"it does not validate the TLD in these scenarios. This can be"},{"line_number":17,"context_line":"problematic for instances with common names such as \u0027ubuntu18.04\u0027 or"},{"line_number":18,"context_line":"\u0027test.a\u0027, which aren\u0027t valid since TLDs must start with an alpha"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"15a7c2fd_1bbf2a76","line":15,"range":{"start_line":15,"start_character":42,"end_line":15,"end_character":71},"updated":"2020-11-27 18:33:42.000000000","message":"it does not allow for FQDN it mistakenly does not block them there is a differentce\n\nto use an fqdn and not have it break you need to set [api]/dhcp_domain\u003d\"\" it has to be the empty sting.\nor as i mention before it will not behav as you expect.","commit_id":"9488a7ee3c81b87a3fb18c68fc6a25f2a15ef0c2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bf36eba3bd308273e8358cdf5f79ed23318c6217","unresolved":true,"context_lines":[{"line_number":12,"context_line":"enabled then this attribute will be reported as the \u0027dns_name\u0027 value"},{"line_number":13,"context_line":"when attaching ports [1]."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Nova\u0027s sanitization of hostnames is good, but while it allows for FQDN,"},{"line_number":16,"context_line":"it does not validate the TLD in these scenarios. This can be"},{"line_number":17,"context_line":"problematic for instances with common names such as \u0027ubuntu18.04\u0027 or"},{"line_number":18,"context_line":"\u0027test.a\u0027, which aren\u0027t valid since TLDs must start with an alpha"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"95140b4d_b5c1fd44","line":15,"range":{"start_line":15,"start_character":42,"end_line":15,"end_character":71},"in_reply_to":"15a7c2fd_1bbf2a76","updated":"2020-11-30 10:24:11.000000000","message":"\u003e it does not allow for FQDN it mistakenly does not block them there is a differentce\n\nWho says it doesn\u0027t allow for them?\n\n\u003e to use an fqdn and not have it break you need to set [api]/dhcp_domain\u003d\"\" it has to be the empty sting.\n\u003e or as i mention before it will not behav as you expect.\n\nOkay. Are you willing to wager that there is no one doing this currently though? I\u0027m not, and I\u0027d like to be able to backport this without breaking things for people.","commit_id":"9488a7ee3c81b87a3fb18c68fc6a25f2a15ef0c2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83b01253b5eccb2061389c13924af740feaa6ac5","unresolved":true,"context_lines":[{"line_number":12,"context_line":"enabled then this attribute will be reported as the \u0027dns_name\u0027 value"},{"line_number":13,"context_line":"when attaching ports [1]."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Nova\u0027s sanitization of hostnames is good, but while it allows for FQDN,"},{"line_number":16,"context_line":"it does not validate the TLD in these scenarios. This can be"},{"line_number":17,"context_line":"problematic for instances with common names such as \u0027ubuntu18.04\u0027 or"},{"line_number":18,"context_line":"\u0027test.a\u0027, which aren\u0027t valid since TLDs must start with an alpha"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9c38b638_3a43767a","line":15,"range":{"start_line":15,"start_character":42,"end_line":15,"end_character":71},"in_reply_to":"95140b4d_b5c1fd44","updated":"2020-11-30 12:20:14.000000000","message":"this is not something i would be ok backporting including downstream.\nthis is a new capablity and im not comfortable backpofrtin that may brake cloud init or other\nsystems that expect this to really be a hostname not an fqdn.","commit_id":"9488a7ee3c81b87a3fb18c68fc6a25f2a15ef0c2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"751d0672f4efb75b406eb8ebc3b217493c67aaa7","unresolved":true,"context_lines":[{"line_number":12,"context_line":"enabled then this attribute will be reported as the \u0027dns_name\u0027 value"},{"line_number":13,"context_line":"when attaching ports [1]."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Nova\u0027s sanitization of hostnames is good, but while it allows for FQDN,"},{"line_number":16,"context_line":"it does not validate the TLD in these scenarios. This can be"},{"line_number":17,"context_line":"problematic for instances with common names such as \u0027ubuntu18.04\u0027 or"},{"line_number":18,"context_line":"\u0027test.a\u0027, which aren\u0027t valid since TLDs must start with an alpha"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9103c1b9_f56a3ce7","line":15,"range":{"start_line":15,"start_character":42,"end_line":15,"end_character":71},"in_reply_to":"9c38b638_3a43767a","updated":"2020-11-30 15:00:10.000000000","message":"No one is talking about adding a new capability here. People can already do:\n\n  openstack server create ... instance.domain.com\n\nand Nova will configure the hostname on the instance while Designate, if enabled, will point requests to \u0027instance.domain.com\u0027 to this instance. To be clear, the question is not if this was intended or should be allowed, only *will it work*. Per my understanding, the answer is (perhaps unfortunately) yes, and, this being the case, we need to come up with a solution to handle users who don\u0027t know about that \"feature\" and try to create an instance with an otherwise sensible name like \u0027test-ubuntu20.04\u0027.","commit_id":"9488a7ee3c81b87a3fb18c68fc6a25f2a15ef0c2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a7f4ecd92cbba4673bff1e6e87a1b69a55fa9e20","unresolved":true,"context_lines":[{"line_number":26,"context_line":"  Reason: \u0027test-ubuntu-20.04\u0027 not a valid PQDN or FQDN."},{"line_number":27,"context_line":"  Reason: TLD \u002704\u0027 must not be all numeric."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"This will only affect users with DNS integration supported, so we don\u0027t"},{"line_number":30,"context_line":"want to start outright rejecting these requests for everyone else. We"},{"line_number":31,"context_line":"also don\u0027t want to wait for such late failures, nor do we want to behave"},{"line_number":32,"context_line":"differently depending on whether this feature is enable (since that"},{"line_number":33,"context_line":"should be transparent to users). Instead, we continue down the vein of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"96fb5444_e80042b2","line":30,"range":{"start_line":29,"start_character":0,"end_line":30,"end_character":66},"updated":"2020-11-27 18:33:42.000000000","message":"yes we do the server name must be a valid hostname it may not be an FQDN\nregradesl of if you have destinate deployed or not.\n\nif you set it to an fqdn it will be broken by nova anyway as we ill still attpend the dhcp_domain in the api\n\nhttps://github.com/openstack/nova/blob/c92b902f43e7b68cd574da960da9236240e0773b/nova/conf/api.py#L218-L231\n\ndhcp_domain is used in the medatadata service here \nhttps://github.com/openstack/nova/blob/7f4afc1a0fbc721731a0c88bb91cada8f4e4ed11/nova/api/metadata/base.py#L532-L533\n\nby joining the hostname with the confic option.\n\nif i have example.domain.com as my server name and dhcp_domain was my.cloud that woudl end up storing\n\nexample.domain.com.my.cloud","commit_id":"9488a7ee3c81b87a3fb18c68fc6a25f2a15ef0c2"}],"nova/utils.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"43e4e3a62592f7bf72942ba113cf0551d28fb9b0","unresolved":true,"context_lines":[{"line_number":378,"context_line":"    hostname \u003d hostname.lower()"},{"line_number":379,"context_line":"    hostname \u003d hostname.strip(\u0027.-\u0027)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    # Determine if the hostname is a valid FQDN yet. If not, fallback to the"},{"line_number":382,"context_line":"    # default name"},{"line_number":383,"context_line":"    if re.match(\u0027[0-9].*\u0027, hostname.split(\u0027.\u0027)[-1]):"},{"line_number":384,"context_line":"        LOG.warning("},{"line_number":385,"context_line":"            \"Hostname \u0027%s\u0027 is not a valid FQDN; will fallback to default\","},{"line_number":386,"context_line":"            hostname)"},{"line_number":387,"context_line":"        hostname \u003d \u0027\u0027"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    # NOTE(eliqiao): set hostname to default_display_name to avoid"},{"line_number":390,"context_line":"    # empty hostname"}],"source_content_type":"text/x-python","patch_set":1,"id":"66ba7691_fa050ac9","line":387,"range":{"start_line":381,"start_character":7,"end_line":387,"end_character":21},"updated":"2020-11-27 18:03:11.000000000","message":"the host name is not allowd to be an FQDN at all.\n\nwe should just block any hostname that contains \u0027.\u0027","commit_id":"9488a7ee3c81b87a3fb18c68fc6a25f2a15ef0c2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"751d0672f4efb75b406eb8ebc3b217493c67aaa7","unresolved":true,"context_lines":[{"line_number":378,"context_line":"    hostname \u003d hostname.lower()"},{"line_number":379,"context_line":"    hostname \u003d hostname.strip(\u0027.-\u0027)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    # Determine if the hostname is a valid FQDN yet. If not, fallback to the"},{"line_number":382,"context_line":"    # default name"},{"line_number":383,"context_line":"    if re.match(\u0027[0-9].*\u0027, hostname.split(\u0027.\u0027)[-1]):"},{"line_number":384,"context_line":"        LOG.warning("},{"line_number":385,"context_line":"            \"Hostname \u0027%s\u0027 is not a valid FQDN; will fallback to default\","},{"line_number":386,"context_line":"            hostname)"},{"line_number":387,"context_line":"        hostname \u003d \u0027\u0027"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    # NOTE(eliqiao): set hostname to default_display_name to avoid"},{"line_number":390,"context_line":"    # empty hostname"}],"source_content_type":"text/x-python","patch_set":1,"id":"13ea9710_fc118b14","line":387,"range":{"start_line":381,"start_character":7,"end_line":387,"end_character":21},"in_reply_to":"3dc4b96f_bcb73c11","updated":"2020-11-30 15:00:10.000000000","message":"Again, it does work and it is allowed. Nothing prevents either so long as the instance name is valid.\n\n  openstack server create ... test-instance.domain.com\n\nWhether it should is another discussion and not something we\u0027re going to be able to solve in a backportable manner.","commit_id":"9488a7ee3c81b87a3fb18c68fc6a25f2a15ef0c2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"83b01253b5eccb2061389c13924af740feaa6ac5","unresolved":true,"context_lines":[{"line_number":378,"context_line":"    hostname \u003d hostname.lower()"},{"line_number":379,"context_line":"    hostname \u003d hostname.strip(\u0027.-\u0027)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    # Determine if the hostname is a valid FQDN yet. If not, fallback to the"},{"line_number":382,"context_line":"    # default name"},{"line_number":383,"context_line":"    if re.match(\u0027[0-9].*\u0027, hostname.split(\u0027.\u0027)[-1]):"},{"line_number":384,"context_line":"        LOG.warning("},{"line_number":385,"context_line":"            \"Hostname \u0027%s\u0027 is not a valid FQDN; will fallback to default\","},{"line_number":386,"context_line":"            hostname)"},{"line_number":387,"context_line":"        hostname \u003d \u0027\u0027"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    # NOTE(eliqiao): set hostname to default_display_name to avoid"},{"line_number":390,"context_line":"    # empty hostname"}],"source_content_type":"text/x-python","patch_set":1,"id":"3dc4b96f_bcb73c11","line":387,"range":{"start_line":381,"start_character":7,"end_line":387,"end_character":21},"in_reply_to":"53c2a01d_bb533010","updated":"2020-11-30 12:20:14.000000000","message":"this feature has neever been supported we are not breaking it if it never worked and was never allowed.","commit_id":"9488a7ee3c81b87a3fb18c68fc6a25f2a15ef0c2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bf36eba3bd308273e8358cdf5f79ed23318c6217","unresolved":true,"context_lines":[{"line_number":378,"context_line":"    hostname \u003d hostname.lower()"},{"line_number":379,"context_line":"    hostname \u003d hostname.strip(\u0027.-\u0027)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    # Determine if the hostname is a valid FQDN yet. If not, fallback to the"},{"line_number":382,"context_line":"    # default name"},{"line_number":383,"context_line":"    if re.match(\u0027[0-9].*\u0027, hostname.split(\u0027.\u0027)[-1]):"},{"line_number":384,"context_line":"        LOG.warning("},{"line_number":385,"context_line":"            \"Hostname \u0027%s\u0027 is not a valid FQDN; will fallback to default\","},{"line_number":386,"context_line":"            hostname)"},{"line_number":387,"context_line":"        hostname \u003d \u0027\u0027"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    # NOTE(eliqiao): set hostname to default_display_name to avoid"},{"line_number":390,"context_line":"    # empty hostname"}],"source_content_type":"text/x-python","patch_set":1,"id":"53c2a01d_bb533010","line":387,"range":{"start_line":381,"start_character":7,"end_line":387,"end_character":21},"in_reply_to":"66ba7691_fa050ac9","updated":"2020-11-30 10:24:11.000000000","message":"https://xkcd.com/1172/\n\nSee the linked bug report. People are already relying on this feature. Breaking this now would be very user hostile.","commit_id":"9488a7ee3c81b87a3fb18c68fc6a25f2a15ef0c2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"213d196610bac4491a553357e80ea14e5c72fc22","unresolved":true,"context_lines":[{"line_number":372,"context_line":"        hostname \u003d hostname.encode(\u0027latin-1\u0027, \u0027ignore\u0027).decode(\u0027latin-1\u0027)"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    hostname \u003d truncate_hostname(hostname)"},{"line_number":375,"context_line":"    hostname \u003d re.sub(r\u0027[ _\\.]\u0027, \u0027-\u0027, hostname)"},{"line_number":376,"context_line":"    hostname \u003d re.sub(r\u0027[^\\w.-]+\u0027, \u0027\u0027, hostname)"},{"line_number":377,"context_line":"    hostname \u003d hostname.lower()"},{"line_number":378,"context_line":"    hostname \u003d hostname.strip(\u0027.-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"275d8c03_2b1ee75d","line":375,"updated":"2021-01-14 16:43:15.000000000","message":"/me raises fist at ubuntu18.04 names...\nbut meh.\n\nHonestly, I\u0027d have preferred to truncate the name before the first period as I said in the ML thread, but your way.","commit_id":"9046f0fff4be424eda25401a3f9b8752964de775"}],"releasenotes/notes/bug-1581977-310e5f218ccb1d16.yaml":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"213d196610bac4491a553357e80ea14e5c72fc22","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Nova will now replace periods (``.``) with dashes (``-``) when santizing an"},{"line_number":5,"context_line":"    instance\u0027s display name for use as a hostname."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    Nova publishes hostnames for instances via the metadata service and config"},{"line_number":8,"context_line":"    drives. This hostname is based on a sanitized version of the instance name"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"8b5bbd47_bddaaac5","line":5,"updated":"2021-01-14 16:43:15.000000000","message":"to make it clear, this will mean that the OS hostname will also change.\nPreviously, using ubuntu18.04 as a name was getting \u0027ubuntu18\u0027 as the OS hostname, now it should be \u0027ubuntu18_04\u0027","commit_id":"9046f0fff4be424eda25401a3f9b8752964de775"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4e126e4e0e0a55dd9a202d4a7b43e458d6db3f8f","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Nova will now replace periods (``.``) with dashes (``-``) when santizing an"},{"line_number":5,"context_line":"    instance\u0027s display name for use as a hostname."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    Nova publishes hostnames for instances via the metadata service and config"},{"line_number":8,"context_line":"    drives. This hostname is based on a sanitized version of the instance name"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"e129fcf0_0bd49fdb","line":5,"in_reply_to":"8b5bbd47_bddaaac5","updated":"2021-01-14 17:07:14.000000000","message":"Almost. It will get \u0027ubuntu18-04\u0027. Technically underscores aren\u0027t valid in hostnames.","commit_id":"9046f0fff4be424eda25401a3f9b8752964de775"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7c360b164418decbbce34e752c206ae67ec1ab77","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Nova will now replace periods (``.``) with dashes (``-``) when santizing an"},{"line_number":5,"context_line":"    instance\u0027s display name for use as a hostname."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    Nova publishes hostnames for instances via the metadata service and config"},{"line_number":8,"context_line":"    drives. This hostname is based on a sanitized version of the instance name"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"fda26c3b_5d08f523","line":5,"in_reply_to":"e129fcf0_0bd49fdb","updated":"2021-01-14 17:19:52.000000000","message":"yep undersocer are ment to be replaced with hyphends too if we use \"punycode\" encoding to normalise the names as ther relevent standards suggest.","commit_id":"9046f0fff4be424eda25401a3f9b8752964de775"}]}
