)]}'
{"specs/juno/internal-dns-resolution.rst":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"0fec11f187e22ad80fd47ae20bd0226b3dc98d9c","unresolved":false,"context_lines":[{"line_number":119,"context_line":"REST API impact"},{"line_number":120,"context_line":"---------------"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"The addition of the hostname field to the port object in the data model will"},{"line_number":123,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"These changes will be done to maintain compatibility with the existing API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAAXH%2F%2Fb7U%3D","line":122,"updated":"2014-04-21 20:07:20.000000000","message":"Do we need a hostname field or would it make more sense to reuse the name attribute of a port?","commit_id":"335376ba4aab380a6f6bfbb0e55b01468282d53d"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"672d0b5318ab59bba3d7a8ec9c38ed7c9b2dc406","unresolved":false,"context_lines":[{"line_number":119,"context_line":"REST API impact"},{"line_number":120,"context_line":"---------------"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"The addition of the hostname field to the port object in the data model will"},{"line_number":123,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"These changes will be done to maintain compatibility with the existing API."}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAAXH%2F%2FbW4%3D","line":122,"in_reply_to":"AAAAXH%2F%2Fb7U%3D","updated":"2014-04-21 21:49:37.000000000","message":"The question was discussed in the alternatives section above.  I felt that there was enough risk that the field was being used for other purposes in some installations.  To add new validation on the field and hijack it for this purpose may be painful.\n\nWhat do you think?  Do you think the field is unused?  What was its intended purpose as part of the original model?","commit_id":"335376ba4aab380a6f6bfbb0e55b01468282d53d"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"867ae8fee6dfa7d382c7b63b55f84537d076e659","unresolved":false,"context_lines":[{"line_number":73,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":".. TODO How is IPv6 going to fit in to this table.  What IPv6 support do we"},{"line_number":76,"context_line":"   have currently in openstack\u0027s DNS implementation."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Alternatives"},{"line_number":79,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAXH%2F%2FHcw%3D","line":76,"updated":"2014-04-23 22:07:54.000000000","message":"Good question. There has already been a teeny bit of work in 8d9223d27b8dbc49d85e1e1133d48c78a94249fd to make it so at least dnsmasq won\u0027t crash when a v6 address is added to the host file.\n\nI do not know if the DNS API that was in Nova ever handled AAAA records however - and even then it has been at least since Essex that I was in that neck of the woods. The last time I spoke with someone about it, they were hoping to move everything to Designate.","commit_id":"f845c785179a3923927d255635ec215a3b95bae7"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"5e58e70fa5a9d83d55b984f1f52784c3320ff03a","unresolved":false,"context_lines":[{"line_number":119,"context_line":"REST API impact"},{"line_number":120,"context_line":"---------------"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"The addition of the hostname field to the port object in the data model will"},{"line_number":123,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"These changes will be done to maintain compatibility with the existing API."}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAXH%2F%2FIC8%3D","line":122,"updated":"2014-04-23 20:24:43.000000000","message":"Mark, I had to upload a new patch set to fix the gerrit topic for this patch.  I would still like to hear your feedback to my reply in PS 1.  Using \"host\" or \"hostname\" is still open for discussion.","commit_id":"f845c785179a3923927d255635ec215a3b95bae7"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"b29452e2184f3912e379e056d80faf4f235a0f9d","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Internal DNS Resolution"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":":Author: Carl Baldwin \u003ccarl.baldwin@hp.com\u003e"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAXX%2F%2F24U%3D","line":8,"updated":"2014-04-25 18:23:07.000000000","message":"Would it be useful to chase some Nova core to review this one?","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"83932f559b15df0b1801e0e19261c1e415607a8f","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Internal DNS Resolution"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":":Author: Carl Baldwin \u003ccarl.baldwin@hp.com\u003e"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAXX%2F%2F19g%3D","line":8,"in_reply_to":"AAAAXX%2F%2F24U%3D","updated":"2014-04-25 21:12:30.000000000","message":"Yes, I think so.  There is a corresponding Nova blueprint filed as well.  They should cross reference each other.","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"b29452e2184f3912e379e056d80faf4f235a0f9d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"--------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"This blueprint will reconcile the DNS name between Nova and Neutron.  Neutron"},{"line_number":49,"context_line":"DHCP offers will use the instance name as hostname instead of the Neutron"},{"line_number":50,"context_line":"generated hostname.  Neutron DNS will reply to queries for the new hostname."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The Neutron Port API will be extended to add a \"hostname\" field to the port."}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAXX%2F%2F24k%3D","line":49,"updated":"2014-04-25 18:23:07.000000000","message":"here it\u0027s not clear which Nova\u0027s name should be picked; a Nova instance has two attributes: display_name and hostname. They are clearly different but I am not 100% sure whether spawn logic enforce them to be the same by default. Also I am not 100% sure whether the hostname being set within the guest comes from the display_name or the hostname. It would be good to get some clarity on these doubts in the context of this blueprint.","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"83932f559b15df0b1801e0e19261c1e415607a8f","unresolved":false,"context_lines":[{"line_number":46,"context_line":"--------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"This blueprint will reconcile the DNS name between Nova and Neutron.  Neutron"},{"line_number":49,"context_line":"DHCP offers will use the instance name as hostname instead of the Neutron"},{"line_number":50,"context_line":"generated hostname.  Neutron DNS will reply to queries for the new hostname."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"The Neutron Port API will be extended to add a \"hostname\" field to the port."}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAXX%2F%2F14w%3D","line":49,"in_reply_to":"AAAAXX%2F%2F24k%3D","updated":"2014-04-25 21:12:30.000000000","message":"I was using the Nova API reference which does not appear to mention hostname at all, only name.  I was unaware of the hostname field.\n\nShort answer is that nova should pass its hostname field.  I will update this section as well as the nova blueprint.  Most of this will go in to the Nova blueprint.  Here are some notes...\n\nI did an experiment where I gave \"vm-3\" and \"vm_3\" as the names to two nova instances.  In both cases, the hostname in the database was \"vm-3\".  Looking at the code, it appears that hostname is sanitized to conform with rfc952 and rfc1123.  Sanitizing to these rfcs gets us closer to a dns label but not all the way.\n\nrfc952:\n\n\u003cname\u003e  ::\u003d \u003clet\u003e[*[\u003clet-or-digit-or-hyphen\u003e]\u003clet-or-digit\u003e]\n\nThis is pretty close to a valid dns label minus the 63 character limit.\n\nrfc1123:\n\nAllows the name to start with a number.\n\"Host software MUST handle host names of up to 63 characters and SHOULD handle host names of up to 255 characters.\"\n\nIf I\u0027m not mistaken, allowing the hostname to start with a number and exceed 63 characters breaks compatibility with DNS labels.  A quick experiment with nova in devstack showed that a hostname is allowed to start with a number.","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"b29452e2184f3912e379e056d80faf4f235a0f9d","unresolved":false,"context_lines":[{"line_number":150,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"These changes will be done to maintain compatibility with the existing API."},{"line_number":153,"context_line":"For POST and PUT operations the paramter can be unspecified in the API call and"},{"line_number":154,"context_line":"will result in a null value in the model.  Any non-null value passed in this"},{"line_number":155,"context_line":"field will be validated at the API level as a DNS label.  The format is"},{"line_number":156,"context_line":"described in the `Data model impact`_ section."}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAXX%2F%2F3HE%3D","line":153,"updated":"2014-04-25 18:23:07.000000000","message":"I think there are some interesting implications here. Should we allow the hostname to be changed through the API? This might require some degree of collaboration from the guest instance.","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":161,"name":"Kevin Bringard","email":"kevinbri@cisco.com","username":"kbringard"},"change_message_id":"a86c02b73207d50290afd367e3b6cb4bf84cf177","unresolved":false,"context_lines":[{"line_number":150,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"These changes will be done to maintain compatibility with the existing API."},{"line_number":153,"context_line":"For POST and PUT operations the paramter can be unspecified in the API call and"},{"line_number":154,"context_line":"will result in a null value in the model.  Any non-null value passed in this"},{"line_number":155,"context_line":"field will be validated at the API level as a DNS label.  The format is"},{"line_number":156,"context_line":"described in the `Data model impact`_ section."}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAXX%2F%2F1Zk%3D","line":153,"in_reply_to":"AAAAXX%2F%2F150%3D","updated":"2014-04-25 22:05:33.000000000","message":"\"Nova still manages the hostname of the instance through cloudinit and metadata, right?\"\n\nNot necessarily. It depends on the image. By and large cloud-init will pull the hostname from meta-data and issue a hostname command at boot, but I\u0027ve seen some images in the wild which simply use the DHCP hostname provided (which would mean those images are getting it indirectly from neutron).\n\nThis is part of where it gets complicated. As has been pointed out all these data points need to stay in sync across the various services to ensure universally \"correct\" operation.","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"c17ea40ffa07e457c2039686c57fcffb47f5d287","unresolved":false,"context_lines":[{"line_number":150,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"These changes will be done to maintain compatibility with the existing API."},{"line_number":153,"context_line":"For POST and PUT operations the paramter can be unspecified in the API call and"},{"line_number":154,"context_line":"will result in a null value in the model.  Any non-null value passed in this"},{"line_number":155,"context_line":"field will be validated at the API level as a DNS label.  The format is"},{"line_number":156,"context_line":"described in the `Data model impact`_ section."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a1371a2_479ef057","line":153,"in_reply_to":"AAAAXX%2F%2F1Zk%3D","updated":"2014-04-28 19:47:48.000000000","message":"Kevin, your response makes sense.  Given this information, using the hostname from Nova as the starting point for the Neutron\u0027s combined hostname/dns name would bring some level of consistency that we don\u0027t currently have.  Do you agree?","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"83932f559b15df0b1801e0e19261c1e415607a8f","unresolved":false,"context_lines":[{"line_number":150,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"These changes will be done to maintain compatibility with the existing API."},{"line_number":153,"context_line":"For POST and PUT operations the paramter can be unspecified in the API call and"},{"line_number":154,"context_line":"will result in a null value in the model.  Any non-null value passed in this"},{"line_number":155,"context_line":"field will be validated at the API level as a DNS label.  The format is"},{"line_number":156,"context_line":"described in the `Data model impact`_ section."}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAXX%2F%2F150%3D","line":153,"in_reply_to":"AAAAXX%2F%2F3HE%3D","updated":"2014-04-25 21:12:30.000000000","message":"You make a good point.  Nova will need to be able to update it if it is given an existing port to boot on.\n\nWell, hmmm.  Changing the hostname on the port isn\u0027t how one would affect a change in the hostname in the instance.  It only changes the name of the hostname from Neutron\u0027s perspective in DNS and DHCP.  Nova still manages the hostname of the instance through cloudinit and metadata, right?\n\nSo, allowing the end user to change this hostname through the Neutron API may lead to some confusion on their part if they expected the VM to change its hostname.  I don\u0027t expect a lot of API users to directly manipulate this field.  But, maybe there is a use case I haven\u0027t thought of.","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"83932f559b15df0b1801e0e19261c1e415607a8f","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"In order to for this to work end to end, we need coordinated change in Nova."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"https://blueprints.launchpad.net/nova/+spec/neutron-hostname-dns"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"Testing"},{"line_number":253,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAXX%2F%2F19I%3D","line":250,"updated":"2014-04-25 21:12:30.000000000","message":"Oops, the name of the Nova blueprint is wrong here.  I\u0027ll fix that and make sure that the reference from the blueprint is correct as well.\n\nhttps://blueprints.launchpad.net/nova/+spec/internal-dns-resolution","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"b29452e2184f3912e379e056d80faf4f235a0f9d","unresolved":false,"context_lines":[{"line_number":272,"context_line":"https://bugs.launchpad.net/nova/+bug/1175211"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":".. Other TODO items..."},{"line_number":275,"context_line":"   - Contact Armando Migliaccio.  He made comments on the fix for the bug."},{"line_number":276,"context_line":"   - Contact Zach Feldstein who wrote the original patch for Neutron"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAXX%2F%2F24E%3D","line":275,"updated":"2014-04-25 18:23:07.000000000","message":"I guess you got my attention now ;)","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"83932f559b15df0b1801e0e19261c1e415607a8f","unresolved":false,"context_lines":[{"line_number":273,"context_line":""},{"line_number":274,"context_line":".. Other TODO items..."},{"line_number":275,"context_line":"   - Contact Armando Migliaccio.  He made comments on the fix for the bug."},{"line_number":276,"context_line":"   - Contact Zach Feldstein who wrote the original patch for Neutron"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAXX%2F%2F18s%3D","line":276,"updated":"2014-04-25 21:12:30.000000000","message":"Zack, it seems I spelled your name wrong here.  I just noticed now.","commit_id":"0e97d51d7d234b5a6bbba07683e60f23014fe5b0"},{"author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"change_message_id":"35b8940e78fe095e03f8a3cd038ade1cd430d34c","unresolved":false,"context_lines":[{"line_number":75,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":76,"context_line":"A           name.example.com.        name          ????:1:2:3:4"},{"line_number":77,"context_line":"A           10-224-36-4.example.com. (n/a)         10.224.36.4"},{"line_number":78,"context_line":"AAAA        name.example.com.        name          10.224.36.4"},{"line_number":79,"context_line":"PTR         10.224.36.4              (none)        10-224-36-4.example.com."},{"line_number":80,"context_line":"PTR         10.224.36.4              name          name.example.com."},{"line_number":81,"context_line":"PTR         ????::1:2:3:4            name          name.example.com."}],"source_content_type":"text/x-rst","patch_set":7,"id":"1ae5cdf2_7fd42220","line":78,"updated":"2014-06-02 02:29:16.000000000","message":"The A and AAAA responses are the wrong way around.","commit_id":"1f628b61073b592d7d9a666d194987a75343d4bd"},{"author":{"_account_id":11279,"name":"Angus Lees","email":"gus@inodes.org","username":"gus"},"change_message_id":"35b8940e78fe095e03f8a3cd038ade1cd430d34c","unresolved":false,"context_lines":[{"line_number":82,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"When Neutron cannot accept a name from Nova because it does not validate or it"},{"line_number":85,"context_line":"is a duplicate, Neutron will fail the port creation.  However, validation will"},{"line_number":86,"context_line":"only be done if the port\u0027s network has a DNS domain associated with it.  See"},{"line_number":87,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1ae5cdf2_1f915e52","line":85,"updated":"2014-06-02 02:29:16.000000000","message":"Was allowing duplicates and generating multiple address records considered?\nThis doesn\u0027t scale to many duplicates (the DNS response will become large without some form of subsetting), but seems a reasonable interpreation of the user\u0027s intent.","commit_id":"1f628b61073b592d7d9a666d194987a75343d4bd"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"29b2121be3ed63a04d4ffb1c2dbdf2ccec536432","unresolved":false,"context_lines":[{"line_number":101,"context_line":"   essential for DNS to have a predictable IP address.  Problems have resulted"},{"line_number":102,"context_line":"   from this [#]_.  It may be worth considering reserving IP addresses on the"},{"line_number":103,"context_line":"   local network for use by the DNS resolver."},{"line_number":104,"context_line":"#. Coupling the DNS resolver with the gateway router and using its \u0027s IP"},{"line_number":105,"context_line":"   address as the DNS IP address will not work on an isolated network where"},{"line_number":106,"context_line":"   there is no gateway."},{"line_number":107,"context_line":"#. For internal DNS, the resolver should provide both authoritative responses"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a890539_d20c02f0","line":104,"updated":"2014-11-13 22:02:22.000000000","message":"nit: its \u0027s - remove the extraneous \u0027s","commit_id":"bf58fc1544abde59c800edc1514e3cbfc90189b0"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"317066efed83e191b0ae4cbbe27e9813dd8edd81","unresolved":false,"context_lines":[{"line_number":101,"context_line":"   essential for DNS to have a predictable IP address.  Problems have resulted"},{"line_number":102,"context_line":"   from this [#]_.  It may be worth considering reserving IP addresses on the"},{"line_number":103,"context_line":"   local network for use by the DNS resolver."},{"line_number":104,"context_line":"#. Coupling the DNS resolver with the gateway router and using its \u0027s IP"},{"line_number":105,"context_line":"   address as the DNS IP address will not work on an isolated network where"},{"line_number":106,"context_line":"   there is no gateway."},{"line_number":107,"context_line":"#. For internal DNS, the resolver should provide both authoritative responses"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a890539_7d0c2343","line":104,"in_reply_to":"5a890539_d20c02f0","updated":"2014-11-20 23:11:05.000000000","message":"Doh!  Thanks.","commit_id":"bf58fc1544abde59c800edc1514e3cbfc90189b0"}],"specs/kilo/internal-dns-resolution.rst":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"1f75a37bfa9567cab6e3de466871a5ba041adf75","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"Primary assignee:"},{"line_number":266,"context_line":"  `carl-baldwin \u003chttps://launchpad.net/~carl-baldwin\u003e`_"},{"line_number":267,"context_line":"  I\u0027m all tapped out for Kilo but someone with interest could take this on."},{"line_number":268,"context_line":"  Is Zack still around?"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"Other contributors:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_5c2cf747","line":267,"updated":"2014-12-09 03:53:33.000000000","message":"I think this is reason to consider deferral alone for Kilo.","commit_id":"e6cbbaf8ca38d4832454f8dd5bcee2e85f3f3261"}],"specs/liberty/internal-dns-resolution.rst":[{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"8287807f74e9edc91af78ae78597e1bab67cca54","unresolved":false,"context_lines":[{"line_number":127,"context_line":"   later follow on to allow relaxed rules to keep the scope of this blueprint"},{"line_number":128,"context_line":"   under control.  The follow on should be fairly low hanging fruit."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"The name will be constrained unique within the DNS domain after conversion."},{"line_number":131,"context_line":"However, this validation will not cross tenants.  In the future, when an"},{"line_number":132,"context_line":"external DNS service is integrated [#]_ then this validation will be deligated to"},{"line_number":133,"context_line":"the external system."}],"source_content_type":"text/x-rst","patch_set":10,"id":"7ad32947_2b1462f3","line":130,"updated":"2015-04-28 14:05:31.000000000","message":"This is usually not the case with DNS - you can create multiple A records for the same name with different IPs. Is this a dnsmasq limitation?","commit_id":"ebe1ec8f1844641833a3031feb61b396960ffa54"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"f8d73010c562d6b2d9b96474ec9fa0668ee11f01","unresolved":false,"context_lines":[{"line_number":127,"context_line":"   later follow on to allow relaxed rules to keep the scope of this blueprint"},{"line_number":128,"context_line":"   under control.  The follow on should be fairly low hanging fruit."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"The name will be constrained unique within the DNS domain after conversion."},{"line_number":131,"context_line":"However, this validation will not cross tenants.  In the future, when an"},{"line_number":132,"context_line":"external DNS service is integrated [#]_ then this validation will be deligated to"},{"line_number":133,"context_line":"the external system."}],"source_content_type":"text/x-rst","patch_set":10,"id":"5ad0253b_c654e255","line":130,"in_reply_to":"7ad32947_2b1462f3","updated":"2015-04-28 22:17:15.000000000","message":"@John I\u0027ve thought about this a lot but maybe we\u0027re doing the wrong thing.  I have gone back and forth on it.\n\nI thought it was a big stretch to go from \"Nova allows you to duplicate hostnames between VMs\" to \"duplicate host names result in multiple A records in DNS.\"  Maybe it is fine.  I\u0027d like to get more opinions.  Just hearing your opinion has swayed me a little.  I\u0027m starting to think that maybe multiple DNS records is the right thing to do.\n\nAs far as dnsmasq goes, I don\u0027t know if it has this limitation.  A quick search seems to indicate that it might be capable of multiple IP addresses for the same name.  I think there is hope.","commit_id":"ebe1ec8f1844641833a3031feb61b396960ffa54"},{"author":{"_account_id":12912,"name":"John Belamaric","email":"jbelamaric@infoblox.com","username":"johnbelamaric"},"change_message_id":"8287807f74e9edc91af78ae78597e1bab67cca54","unresolved":false,"context_lines":[{"line_number":144,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":145,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":148,"context_line":"   could try to use the domain supplied with the hostname as an override for"},{"line_number":149,"context_line":"   the domain set on the network (currently openstack.local).  This could get a"},{"line_number":150,"context_line":"   bit complicated especially given the external-dns-resolution blueprint that"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7ad32947_8b8ff622","line":147,"updated":"2015-04-28 14:05:31.000000000","message":"I think there are so many more DNS use cases that are not addressed by this spec, and *shouldn\u0027t* be. That\u0027s what Designate is for. \n\nEssentially, this provides a default name for the host but doesn\u0027t try to solve all the DNS use cases, which I think is appropriate here.","commit_id":"ebe1ec8f1844641833a3031feb61b396960ffa54"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"f8d73010c562d6b2d9b96474ec9fa0668ee11f01","unresolved":false,"context_lines":[{"line_number":144,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":145,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":148,"context_line":"   could try to use the domain supplied with the hostname as an override for"},{"line_number":149,"context_line":"   the domain set on the network (currently openstack.local).  This could get a"},{"line_number":150,"context_line":"   bit complicated especially given the external-dns-resolution blueprint that"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5ad0253b_a6d8c6f0","line":147,"in_reply_to":"7ad32947_8b8ff622","updated":"2015-04-28 22:17:15.000000000","message":"+1","commit_id":"ebe1ec8f1844641833a3031feb61b396960ffa54"},{"author":{"_account_id":8279,"name":"Fawad Khaliq","email":"fawadkq@gmail.com","username":"fawadkhaliq"},"change_message_id":"f37678491ac8eb12b905641923d6335d00e6fb4c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"anywhere in the API and therefore cannot be presented in any UI either."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed Change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Overview"},{"line_number":45,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3acd31a7_9fa354b2","line":42,"updated":"2015-05-05 05:47:14.000000000","message":"How is instance update handled? What happens if someone changes the instance name from Horizon? The \"hostname\" in ports will go out of sync, no?","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":14258,"name":"Ryan Tidwell","email":"rktidwell85@gmail.com","username":"tidwellr"},"change_message_id":"3ae229d945a15294f0eba902fbf2da303406391e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"anywhere in the API and therefore cannot be presented in any UI either."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed Change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Overview"},{"line_number":45,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1aca2d91_83600537","line":42,"in_reply_to":"3acd31a7_9fa354b2","updated":"2015-05-06 19:53:16.000000000","message":"See line 104 in https://review.openstack.org/#/c/90150/14/specs/liberty/approved/internal-dns-resolution.rst. It seems to be understood and accepted that the hostname can go out of sync between Nova and Neutron.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6230c8697272f54e304ce6496aa522687c5fc440","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":73,"context_line":"Record Type Query                    Port Name     Response"},{"line_number":74,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":75,"context_line":"A           name.example.com.        name          ????:1:2:3:4"},{"line_number":76,"context_line":"A           10-224-36-4.example.com. (n/a)         10.224.36.4"},{"line_number":77,"context_line":"AAAA        name.example.com.        name          10.224.36.4"},{"line_number":78,"context_line":"PTR         10.224.36.4              (none)        10-224-36-4.example.com."}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_f87dddb1","line":75,"updated":"2015-05-17 05:13:39.000000000","message":"A records do not return ipv6 addresses. AAAA do.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"e1c51e71b50960790f967489f5e7ae3f6897d8d9","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":73,"context_line":"Record Type Query                    Port Name     Response"},{"line_number":74,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":75,"context_line":"A           name.example.com.        name          ????:1:2:3:4"},{"line_number":76,"context_line":"A           10-224-36-4.example.com. (n/a)         10.224.36.4"},{"line_number":77,"context_line":"AAAA        name.example.com.        name          10.224.36.4"},{"line_number":78,"context_line":"PTR         10.224.36.4              (none)        10-224-36-4.example.com."}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_bb1c346b","line":75,"in_reply_to":"7a016987_f87dddb1","updated":"2015-06-03 18:41:09.000000000","message":"See L77.  My fault.  :$","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6230c8697272f54e304ce6496aa522687c5fc440","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Record Type Query                    Port Name     Response"},{"line_number":74,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":75,"context_line":"A           name.example.com.        name          ????:1:2:3:4"},{"line_number":76,"context_line":"A           10-224-36-4.example.com. (n/a)         10.224.36.4"},{"line_number":77,"context_line":"AAAA        name.example.com.        name          10.224.36.4"},{"line_number":78,"context_line":"PTR         10.224.36.4              (none)        10-224-36-4.example.com."},{"line_number":79,"context_line":"PTR         10.224.36.4              name          name.example.com."}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_d84b4186","line":76,"updated":"2015-05-17 05:13:39.000000000","message":"For completeness, please add an example for the name not assigned, but requested (I suppose it\u0027s just NXDOMAIN).","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"25f3481647d2430b57d7c618f0fd8b643e6b9938","unresolved":false,"context_lines":[{"line_number":74,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":75,"context_line":"A           name.example.com.        name          ????:1:2:3:4"},{"line_number":76,"context_line":"A           10-224-36-4.example.com. (n/a)         10.224.36.4"},{"line_number":77,"context_line":"AAAA        name.example.com.        name          10.224.36.4"},{"line_number":78,"context_line":"PTR         10.224.36.4              (none)        10-224-36-4.example.com."},{"line_number":79,"context_line":"PTR         10.224.36.4              name          name.example.com."},{"line_number":80,"context_line":"PTR         ????::1:2:3:4            name          name.example.com."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1aca2d91_6f6828f6","line":77,"updated":"2015-05-06 21:41:43.000000000","message":"AAAA is for ipv6 dns records so the response is incorrect","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"6e856ce2021f253d8c2af2aa2ac77db97ae67f01","unresolved":false,"context_lines":[{"line_number":74,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":75,"context_line":"A           name.example.com.        name          ????:1:2:3:4"},{"line_number":76,"context_line":"A           10-224-36-4.example.com. (n/a)         10.224.36.4"},{"line_number":77,"context_line":"AAAA        name.example.com.        name          10.224.36.4"},{"line_number":78,"context_line":"PTR         10.224.36.4              (none)        10-224-36-4.example.com."},{"line_number":79,"context_line":"PTR         10.224.36.4              name          name.example.com."},{"line_number":80,"context_line":"PTR         ????::1:2:3:4            name          name.example.com."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1aca2d91_13065ace","line":77,"in_reply_to":"1aca2d91_6f6828f6","updated":"2015-05-07 16:40:49.000000000","message":"Oops, how did that happen?  /me is embarrassed.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6230c8697272f54e304ce6496aa522687c5fc440","unresolved":false,"context_lines":[{"line_number":75,"context_line":"A           name.example.com.        name          ????:1:2:3:4"},{"line_number":76,"context_line":"A           10-224-36-4.example.com. (n/a)         10.224.36.4"},{"line_number":77,"context_line":"AAAA        name.example.com.        name          10.224.36.4"},{"line_number":78,"context_line":"PTR         10.224.36.4              (none)        10-224-36-4.example.com."},{"line_number":79,"context_line":"PTR         10.224.36.4              name          name.example.com."},{"line_number":80,"context_line":"PTR         ????::1:2:3:4            name          name.example.com."},{"line_number":81,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_b84e4594","line":78,"updated":"2015-05-17 05:13:39.000000000","message":"PTR requests are not for IPs but for reversed hostnames inside ip-addr.arpa. (I forgot what\u0027s the equivalent for ipv6, but that\u0027s similar.)","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6230c8697272f54e304ce6496aa522687c5fc440","unresolved":false,"context_lines":[{"line_number":77,"context_line":"AAAA        name.example.com.        name          10.224.36.4"},{"line_number":78,"context_line":"PTR         10.224.36.4              (none)        10-224-36-4.example.com."},{"line_number":79,"context_line":"PTR         10.224.36.4              name          name.example.com."},{"line_number":80,"context_line":"PTR         ????::1:2:3:4            name          name.example.com."},{"line_number":81,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate or it"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_9845c971","line":80,"updated":"2015-05-17 05:13:39.000000000","message":"I wonder whether we should link the old and new names with CNAME instead of duplicating the full set of A/AAAA records.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6230c8697272f54e304ce6496aa522687c5fc440","unresolved":false,"context_lines":[{"line_number":81,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate or it"},{"line_number":84,"context_line":"is a duplicate, Neutron will fail the port creation.  However, validation will"},{"line_number":85,"context_line":"only be done if the port\u0027s network has a DNS domain associated with it.  See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_7848cd87","line":84,"updated":"2015-05-17 05:13:39.000000000","message":"I probably miss something. How are duplicate names bad in DNS context? They just serve as a single kinda \u0027load balanced\u0027 rrset (record set) that could be used by clients to select a random one from it.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":8279,"name":"Fawad Khaliq","email":"fawadkq@gmail.com","username":"fawadkhaliq"},"change_message_id":"f37678491ac8eb12b905641923d6335d00e6fb4c","unresolved":false,"context_lines":[{"line_number":81,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate or it"},{"line_number":84,"context_line":"is a duplicate, Neutron will fail the port creation.  However, validation will"},{"line_number":85,"context_line":"only be done if the port\u0027s network has a DNS domain associated with it.  See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"3acd31a7_bf9a906c","line":84,"updated":"2015-05-05 05:47:14.000000000","message":"What happens when an instance has multiple interfaces? All the port will have the same hostname, right? And if I understand correctly, this validation will always fail.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9d2eed82b1607d4e92e1c6ddb5920d9fe8f66c7d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate or it"},{"line_number":84,"context_line":"is a duplicate, Neutron will fail the port creation.  However, validation will"},{"line_number":85,"context_line":"only be done if the port\u0027s network has a DNS domain associated with it.  See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_b9752499","line":84,"in_reply_to":"7a016987_7848cd87","updated":"2015-05-17 22:28:48.000000000","message":"@Ihar, there has been some discussion about this.  We\u0027re leaning toward eliminating this check but haven\u0027t updated the document yet.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":8279,"name":"Fawad Khaliq","email":"fawadkq@gmail.com","username":"fawadkhaliq"},"change_message_id":"990c7df844c0b43763572f571bece9963de2f302","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate or it"},{"line_number":84,"context_line":"is a duplicate, Neutron will fail the port creation.  However, validation will"},{"line_number":85,"context_line":"only be done if the port\u0027s network has a DNS domain associated with it.  See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Is Not"}],"source_content_type":"text/x-rst","patch_set":11,"id":"3acd31a7_ffe6c813","line":85,"updated":"2015-05-05 05:43:49.000000000","message":"How/where do we define DNS domains? Is it implicitly picked from somewhere or we specify it per tenant or network/subnet?","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6230c8697272f54e304ce6496aa522687c5fc440","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate or it"},{"line_number":84,"context_line":"is a duplicate, Neutron will fail the port creation.  However, validation will"},{"line_number":85,"context_line":"only be done if the port\u0027s network has a DNS domain associated with it.  See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Is Not"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_58607101","line":85,"updated":"2015-05-17 05:13:39.000000000","message":"Probably not exactly openstacklocal but the one configured as dhcp_domain in the agent config file. And then it\u0027s not clear how (and why) you want to distinguish between default domain (openstacklocal) and a configured one (dhcp_domain set to a non default value.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"38907c8ae2abe0cb941af2a5758d88459057eb19","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate or it"},{"line_number":84,"context_line":"is a duplicate, Neutron will fail the port creation.  However, validation will"},{"line_number":85,"context_line":"only be done if the port\u0027s network has a DNS domain associated with it.  See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Is Not"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1aca2d91_6a1ea864","line":85,"in_reply_to":"1aca2d91_5652a914","updated":"2015-05-07 20:24:07.000000000","message":"We should clarify that in the scope of this BP, there is only one domain:  openstacklocal.  The follow-on BP adds the ability to associate a domain.  I just wanted to get the idea in to reviewers\u0027 heads where I want to go with this.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":14258,"name":"Ryan Tidwell","email":"rktidwell85@gmail.com","username":"tidwellr"},"change_message_id":"3ae229d945a15294f0eba902fbf2da303406391e","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate or it"},{"line_number":84,"context_line":"is a duplicate, Neutron will fail the port creation.  However, validation will"},{"line_number":85,"context_line":"only be done if the port\u0027s network has a DNS domain associated with it.  See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Is Not"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1aca2d91_5652a914","line":85,"in_reply_to":"3acd31a7_ffe6c813","updated":"2015-05-06 19:53:16.000000000","message":"+1. I may be missing something obvious, I don\u0027t understand how a DNS domain is associated with a network. Is there another blueprint out there, or are we missing discussion of domain\u003c-\u003enetwork association in this blueprint?","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"7afdda390d4490d5fd7a6d55b487db1d0d09efde","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate or it"},{"line_number":84,"context_line":"is a duplicate, Neutron will fail the port creation.  However, validation will"},{"line_number":85,"context_line":"only be done if the port\u0027s network has a DNS domain associated with it.  See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Is Not"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5afe65bd_89d210d1","line":85,"in_reply_to":"7a016987_58607101","updated":"2015-06-03 19:31:28.000000000","message":"This was written when duplicate names were part of the validation.    The motivation behind doing so was that nova allowed duplicate names and Neutron wasn\u0027t going to allow them creating a disconnect between the two services.  We couldn\u0027t go breaking existing workflows that expected to allow duplicate names, could we?\n\nNow, the only names that nova might pass to Neutron that would fail validation unexpectedly are names with \u003e 63 characters and names that begin with a digit.\n\nSo, I\u0027m okay removing this statement and validating every name passed.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"25f3481647d2430b57d7c618f0fd8b643e6b9938","unresolved":false,"context_lines":[{"line_number":105,"context_line":"   gateway."},{"line_number":106,"context_line":"#. For internal DNS, the resolver should provide both authoritative responses"},{"line_number":107,"context_line":"   for the local domain and either forward other queries to an upstream"},{"line_number":108,"context_line":"   resolver or provide recursive resolution."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. [#] https://bugs.launchpad.net/neutron/+bug/1288923"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1aca2d91_4af31a0b","line":108,"updated":"2015-05-06 21:41:43.000000000","message":"iirc dnsmasq returns negative responses for dns names deduced from dhcp information without a dhcp lease ... you get negatives responses for stopped vms.\n\nMore generally, how do we handle the case enable_dhcp\u003dFalse?","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"38907c8ae2abe0cb941af2a5758d88459057eb19","unresolved":false,"context_lines":[{"line_number":105,"context_line":"   gateway."},{"line_number":106,"context_line":"#. For internal DNS, the resolver should provide both authoritative responses"},{"line_number":107,"context_line":"   for the local domain and either forward other queries to an upstream"},{"line_number":108,"context_line":"   resolver or provide recursive resolution."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. [#] https://bugs.launchpad.net/neutron/+bug/1288923"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"1aca2d91_79a0c89f","line":108,"in_reply_to":"1aca2d91_4af31a0b","updated":"2015-05-07 20:24:07.000000000","message":"@Cedric, you are astute as always.  You are touching on the fact that our DNS implementation in Neutron is tightly coupled with DHCP through the use of dnsmasq for both.\n\nI think that -- eventually -- we should work toward breaking this coupling.  For now, I\u0027d like to leave this concern unaddressed.  This will be a deficiency in the initial implementation.  We recognize that this is a very good point and one that should not be ignored for long, just set aside.\n\nTo your point about negative responses, I think this is something that we can live with for now.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6230c8697272f54e304ce6496aa522687c5fc440","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    They must start with a letter, end with a letter or digit, and have as"},{"line_number":120,"context_line":"    interior characters only letters, digits, and hyphen.  There are also some"},{"line_number":121,"context_line":"    restrictions on the length.  Labels must be 63 characters or less. [#]_"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":".. [#] http://tools.ietf.org/html/rfc1035"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_385b7556","line":121,"updated":"2015-05-17 05:13:39.000000000","message":"Note that before I2db00fe266fe0748d0e6327fbad22fa16b751da8 was merged, there was an implementation of these rules in the tree, though not needed (hence dropped). You may want to restore it instead of writing them from scratch.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"38907c8ae2abe0cb941af2a5758d88459057eb19","unresolved":false,"context_lines":[{"line_number":127,"context_line":"   later follow on to allow relaxed rules to keep the scope of this blueprint"},{"line_number":128,"context_line":"   under control.  The follow on should be fairly low hanging fruit."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"The name will be constrained unique within the DNS domain after conversion."},{"line_number":131,"context_line":"However, this validation will not cross tenants.  In the future, when an"},{"line_number":132,"context_line":"external DNS service is integrated [#]_ then this validation will be deligated to"},{"line_number":133,"context_line":"the external system."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1aca2d91_d6a57004","line":130,"updated":"2015-05-07 20:24:07.000000000","message":"I think we may drop this constraint and go with allowing multiple A (AAAA) records.  Stay tuned.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6230c8697272f54e304ce6496aa522687c5fc440","unresolved":false,"context_lines":[{"line_number":127,"context_line":"   later follow on to allow relaxed rules to keep the scope of this blueprint"},{"line_number":128,"context_line":"   under control.  The follow on should be fairly low hanging fruit."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"The name will be constrained unique within the DNS domain after conversion."},{"line_number":131,"context_line":"However, this validation will not cross tenants.  In the future, when an"},{"line_number":132,"context_line":"external DNS service is integrated [#]_ then this validation will be deligated to"},{"line_number":133,"context_line":"the external system."}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_185af94f","line":130,"updated":"2015-05-17 05:13:39.000000000","message":"Yes, RRset with multiple entries are valid and have their use case (f.e. load balancing).","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6230c8697272f54e304ce6496aa522687c5fc440","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Another complication is that Nova may pass a fully qualified name to Neutron."},{"line_number":144,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":145,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":148,"context_line":"   could try to use the domain supplied with the hostname as an override for"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_f854bd21","line":145,"updated":"2015-05-17 05:13:39.000000000","message":"How do you determine whether it\u0027s fqdn or just a host name with several labels? I think the only clear indication of it is a trailing dot (.) in the name. Is it what nova passes to us? If so, why not just using it, overriding the default domain?","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"736992f0f8b35b480efc6d4a5b3e5ce965a8c8a8","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Another complication is that Nova may pass a fully qualified name to Neutron."},{"line_number":144,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":145,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":148,"context_line":"   could try to use the domain supplied with the hostname as an override for"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_3e52d667","line":145,"in_reply_to":"7a016987_f854bd21","updated":"2015-05-31 22:16:19.000000000","message":"@Ihar\n\nPlease see Note that follows this line.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"38907c8ae2abe0cb941af2a5758d88459057eb19","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"An appropriate database migration script will be provided along with the"},{"line_number":158,"context_line":"implementation to add and remove this field to the ports table on upgrade and"},{"line_number":159,"context_line":"downgrade."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"The default value for this field will be null in order to maintain"},{"line_number":162,"context_line":"compatibility with existing installations.  A null value corresponds to the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1aca2d91_caa81cde","line":159,"updated":"2015-05-07 20:24:07.000000000","message":"No downgrade anymore in Neutron.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"e1c51e71b50960790f967489f5e7ae3f6897d8d9","unresolved":false,"context_lines":[{"line_number":166,"context_line":"REST API Impact"},{"line_number":167,"context_line":"---------------"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"The addition of the hostname field to the port object in the data model will"},{"line_number":170,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"These changes will be done to maintain compatibility with the existing API."}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_5bbae0c1","line":169,"updated":"2015-06-03 18:41:09.000000000","message":"I\u0027m thinking we should name this field dns_label instead of hostname to avoid confusion around the subtle difference between hostname rules and dns_label rules.  It should be clear that this label should be a valid dns_label.  I don\u0027t know of any better way to do this than name in dns_label.","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"38907c8ae2abe0cb941af2a5758d88459057eb19","unresolved":false,"context_lines":[{"line_number":170,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"These changes will be done to maintain compatibility with the existing API."},{"line_number":173,"context_line":"For POST and PUT operations the paramter can be unspecified in the API call and"},{"line_number":174,"context_line":"will result in a null value in the model.  Any non-null value passed in this"},{"line_number":175,"context_line":"field will be validated at the API level as a DNS label.  The format is"},{"line_number":176,"context_line":"described in the `Data model impact`_ section."}],"source_content_type":"text/x-rst","patch_set":11,"id":"1aca2d91_8aab44d6","line":173,"updated":"2015-05-07 20:24:07.000000000","message":"*parameter","commit_id":"9c1e6a0ff5feeb7654d4ed2348122c51ee700a77"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"163a86b72923877c3aa785862976af50b5290ee7","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Record Type Query                     Port Name     Response"},{"line_number":74,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":75,"context_line":"A           name.example.com.         name          10.224.36.4"},{"line_number":76,"context_line":"A           10-224-36-4.example.com.  (n/a)         10.224.36.4"},{"line_number":77,"context_line":"AAAA        name.example.com.         name          fd5d:19f:52e9::2"},{"line_number":78,"context_line":"PTR         4.36.224.10.in-addr.arpa  (none)        10-224-36-4.example.com."},{"line_number":79,"context_line":"PTR         4.36.224.10.in-addr.arpa  name          name.example.com."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5afe65bd_697234af","line":76,"updated":"2015-06-03 19:31:21.000000000","message":"Add \"host-\" here too.","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"039210da0a7e6b3f9fe6975f069b9dbf46e961d6","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Record Type Query                     Port Name     Response"},{"line_number":74,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":75,"context_line":"A           name.example.com.         name          10.224.36.4"},{"line_number":76,"context_line":"A           10-224-36-4.example.com.  (n/a)         10.224.36.4"},{"line_number":77,"context_line":"AAAA        name.example.com.         name          fd5d:19f:52e9::2"},{"line_number":78,"context_line":"PTR         4.36.224.10.in-addr.arpa  (none)        10-224-36-4.example.com."},{"line_number":79,"context_line":"PTR         4.36.224.10.in-addr.arpa  name          name.example.com."}],"source_content_type":"text/x-rst","patch_set":13,"id":"3afb71cf_1b168fa7","line":76,"in_reply_to":"5afe65bd_697234af","updated":"2015-06-09 20:16:56.000000000","message":"Done","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"163a86b72923877c3aa785862976af50b5290ee7","unresolved":false,"context_lines":[{"line_number":75,"context_line":"A           name.example.com.         name          10.224.36.4"},{"line_number":76,"context_line":"A           10-224-36-4.example.com.  (n/a)         10.224.36.4"},{"line_number":77,"context_line":"AAAA        name.example.com.         name          fd5d:19f:52e9::2"},{"line_number":78,"context_line":"PTR         4.36.224.10.in-addr.arpa  (none)        10-224-36-4.example.com."},{"line_number":79,"context_line":"PTR         4.36.224.10.in-addr.arpa  name          name.example.com."},{"line_number":80,"context_line":"PTR         fd5d:19f:52e9::2.ip6.arpa name          name.example.com."},{"line_number":81,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5afe65bd_29655ce0","line":78,"updated":"2015-06-03 19:31:21.000000000","message":"And here...","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"039210da0a7e6b3f9fe6975f069b9dbf46e961d6","unresolved":false,"context_lines":[{"line_number":75,"context_line":"A           name.example.com.         name          10.224.36.4"},{"line_number":76,"context_line":"A           10-224-36-4.example.com.  (n/a)         10.224.36.4"},{"line_number":77,"context_line":"AAAA        name.example.com.         name          fd5d:19f:52e9::2"},{"line_number":78,"context_line":"PTR         4.36.224.10.in-addr.arpa  (none)        10-224-36-4.example.com."},{"line_number":79,"context_line":"PTR         4.36.224.10.in-addr.arpa  name          name.example.com."},{"line_number":80,"context_line":"PTR         fd5d:19f:52e9::2.ip6.arpa name          name.example.com."},{"line_number":81,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3afb71cf_fb0cd395","line":78,"in_reply_to":"5afe65bd_29655ce0","updated":"2015-06-09 20:16:56.000000000","message":"Done","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"163a86b72923877c3aa785862976af50b5290ee7","unresolved":false,"context_lines":[{"line_number":81,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate,"},{"line_number":84,"context_line":"Neutron will fail the port creation.  However, validation will only be done if"},{"line_number":85,"context_line":"the port\u0027s networks has a DNS domain associated with it. See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5afe65bd_bf83be55","line":84,"updated":"2015-06-03 19:31:21.000000000","message":"Continuing discussion on PS11.  Summary:  I\u0027m thinking we remove this sentence about validating only when a DNS domain is associated.  We should probably always validate the field regardless.  That will be simpler.","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3d6041f68160a06a232d00aac6a36c29758ca983","unresolved":false,"context_lines":[{"line_number":81,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate,"},{"line_number":84,"context_line":"Neutron will fail the port creation.  However, validation will only be done if"},{"line_number":85,"context_line":"the port\u0027s networks has a DNS domain associated with it. See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5afe65bd_4fcaae4f","line":84,"in_reply_to":"5afe65bd_bf83be55","updated":"2015-06-04 17:16:05.000000000","message":"+1 to Carl\u0027s suggestion","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"039210da0a7e6b3f9fe6975f069b9dbf46e961d6","unresolved":false,"context_lines":[{"line_number":81,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"When Neutron cannot accept a name from Nova because it does not validate,"},{"line_number":84,"context_line":"Neutron will fail the port creation.  However, validation will only be done if"},{"line_number":85,"context_line":"the port\u0027s networks has a DNS domain associated with it. See"},{"line_number":86,"context_line":"the `Data model impact`_ section for more details about this association."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"3afb71cf_db0fd786","line":84,"in_reply_to":"5afe65bd_bf83be55","updated":"2015-06-09 20:16:56.000000000","message":"Done","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3d6041f68160a06a232d00aac6a36c29758ca983","unresolved":false,"context_lines":[{"line_number":137,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":138,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":141,"context_line":"   could try to use the domain supplied with the hostname as an override for"},{"line_number":142,"context_line":"   the domain set on the network (currently openstack.local).  This could get a"},{"line_number":143,"context_line":"   bit complicated especially given the external-dns-resolution blueprint that"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5afe65bd_afe6c2ad","line":140,"updated":"2015-06-04 17:16:05.000000000","message":"Once we fix hostname determination from fqdn, are we going to support old (potentially incorrect) names for compatibility reasons?\n\nWhat if the first label is identical for multiple ports? Are they going to form an RRSet?","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"039210da0a7e6b3f9fe6975f069b9dbf46e961d6","unresolved":false,"context_lines":[{"line_number":137,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":138,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":141,"context_line":"   could try to use the domain supplied with the hostname as an override for"},{"line_number":142,"context_line":"   the domain set on the network (currently openstack.local).  This could get a"},{"line_number":143,"context_line":"   bit complicated especially given the external-dns-resolution blueprint that"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3afb71cf_a63642e5","line":140,"in_reply_to":"5afe65bd_afe6c2ad","updated":"2015-06-09 20:16:56.000000000","message":"@Ihar, @Cedric. Yes, we are going to support the old names for compatibility purposes. Please read paragraph at line 61\n\nAs far as identical labels for multiple ports, that is not a problem. Presumably, you are talking about an instance with several ports, one per network. Each network has its own dnsmasq instance, so they don\u0027t interfere with each other. The instance points in /etc/resolv.conf to one of the dnsmasqs as its name server. /etc/resolv.conf is configured as a result of the dhcp offer. The instance sends a dhcp discovery to the network specified first in the boot. I just tested this in devstack","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"406df1a117ec09cd5961b1cb597f16dc3e409266","unresolved":false,"context_lines":[{"line_number":137,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":138,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":141,"context_line":"   could try to use the domain supplied with the hostname as an override for"},{"line_number":142,"context_line":"   the domain set on the network (currently openstack.local).  This could get a"},{"line_number":143,"context_line":"   bit complicated especially given the external-dns-resolution blueprint that"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5afe65bd_426845b9","line":140,"in_reply_to":"5afe65bd_afe6c2ad","updated":"2015-06-04 17:25:53.000000000","message":"And does dnsmasq support a label to be associated to multiple ips?","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"163a86b72923877c3aa785862976af50b5290ee7","unresolved":false,"context_lines":[{"line_number":158,"context_line":"REST API Impact"},{"line_number":159,"context_line":"---------------"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"The addition of the hostname field to the port object in the data model will"},{"line_number":162,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"These changes will be done to maintain compatibility with the existing API."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5afe65bd_c9efe885","line":161,"updated":"2015-06-03 19:31:21.000000000","message":"I\u0027m thinking we should name this field dns_label instead of hostname to avoid confusion around the subtle difference between hostname rules and dns_label rules. It should be clear that this label should be a valid dns_label. I don\u0027t know of any better way to do this than name it dns_label.","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"039210da0a7e6b3f9fe6975f069b9dbf46e961d6","unresolved":false,"context_lines":[{"line_number":158,"context_line":"REST API Impact"},{"line_number":159,"context_line":"---------------"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"The addition of the hostname field to the port object in the data model will"},{"line_number":162,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"These changes will be done to maintain compatibility with the existing API."}],"source_content_type":"text/x-rst","patch_set":13,"id":"3afb71cf_9b227f00","line":161,"in_reply_to":"5afe65bd_af9da20b","updated":"2015-06-09 20:16:56.000000000","message":"Yes, single label","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"039210da0a7e6b3f9fe6975f069b9dbf46e961d6","unresolved":false,"context_lines":[{"line_number":158,"context_line":"REST API Impact"},{"line_number":159,"context_line":"---------------"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"The addition of the hostname field to the port object in the data model will"},{"line_number":162,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"These changes will be done to maintain compatibility with the existing API."}],"source_content_type":"text/x-rst","patch_set":13,"id":"3afb71cf_bb277b11","line":161,"in_reply_to":"5afe65bd_c9efe885","updated":"2015-06-09 20:16:56.000000000","message":"Done","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3d6041f68160a06a232d00aac6a36c29758ca983","unresolved":false,"context_lines":[{"line_number":158,"context_line":"REST API Impact"},{"line_number":159,"context_line":"---------------"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"The addition of the hostname field to the port object in the data model will"},{"line_number":162,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"These changes will be done to maintain compatibility with the existing API."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5afe65bd_af9da20b","line":161,"in_reply_to":"5afe65bd_c9efe885","updated":"2015-06-04 17:16:05.000000000","message":"So it will be a single label, without a way to pass a multi-label name?","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"163a86b72923877c3aa785862976af50b5290ee7","unresolved":false,"context_lines":[{"line_number":162,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"These changes will be done to maintain compatibility with the existing API."},{"line_number":165,"context_line":"For POST and PUT operations the paramater can be unspecified in the API call"},{"line_number":166,"context_line":"and will result in a null value in the model.  Any non-null value passed in"},{"line_number":167,"context_line":"this field will be validated at the API level as a DNS label.  The format is"},{"line_number":168,"context_line":"described in the `Data model impact`_ section."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5afe65bd_e9f8644b","line":165,"updated":"2015-06-03 19:31:21.000000000","message":"*parameter  :)","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"039210da0a7e6b3f9fe6975f069b9dbf46e961d6","unresolved":false,"context_lines":[{"line_number":162,"context_line":"need correspending changes to the Ports API to support it."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"These changes will be done to maintain compatibility with the existing API."},{"line_number":165,"context_line":"For POST and PUT operations the paramater can be unspecified in the API call"},{"line_number":166,"context_line":"and will result in a null value in the model.  Any non-null value passed in"},{"line_number":167,"context_line":"this field will be validated at the API level as a DNS label.  The format is"},{"line_number":168,"context_line":"described in the `Data model impact`_ section."}],"source_content_type":"text/x-rst","patch_set":13,"id":"3afb71cf_7b2103fb","line":165,"in_reply_to":"5afe65bd_e9f8644b","updated":"2015-06-09 20:16:56.000000000","message":"Done","commit_id":"cd3cc920cafecdb64258310f64e4767668c1c0c4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"6d0a16910d1a3675920209ec41cd9278e6a828a9","unresolved":false,"context_lines":[{"line_number":136,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":137,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":140,"context_line":"   could try to use the domain supplied with the dns_label as an override for"},{"line_number":141,"context_line":"   the domain set on the network (currently openstack.local).  This could get a"},{"line_number":142,"context_line":"   bit complicated especially given the external-dns-resolution blueprint that"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3afb71cf_5c592534","line":139,"updated":"2015-06-10 09:12:51.000000000","message":"Continuing discussion from previous patchset since I assume I was misunderstood.\n\nAre we going to support the old names (those with a single label cut out of hostname) once we introduce proper handling for them that would take the dhcp domain configured?\n\nF.e. assuming nova provides us with a hostname \u003d vm1.test.example.com, where example.com is the dhcp domain. As per the spec, we would support the following hostname for the port: vm1.example.com. Now, after we fix the issue, we will support vm1.test.example.com, as everyone would expect. At that point, will we still support vm1.example.com?\n\nsame for Cedric concern. What if a network has two ports for separate instances with hostnames: vm1.test1.example.com and vm1.test2.example.com. Since we cut the first label for both, and it\u0027s identical, then both ports will get the same hostname to resolve.\n\nHow will dnsmasq behave in that case?","commit_id":"73b1ae694cc6ef23ba3d79cd427c3954b79a08a3"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a9dcc37bc2e548278b6fd84a780de9cd9cca2e51","unresolved":false,"context_lines":[{"line_number":136,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":137,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":140,"context_line":"   could try to use the domain supplied with the dns_label as an override for"},{"line_number":141,"context_line":"   the domain set on the network (currently openstack.local).  This could get a"},{"line_number":142,"context_line":"   bit complicated especially given the external-dns-resolution blueprint that"}],"source_content_type":"text/x-rst","patch_set":14,"id":"fa32b979_21af1a7e","line":139,"in_reply_to":"3afb71cf_46e372d9","updated":"2015-06-18 11:57:45.000000000","message":"Rather than passing a \"dns_label\" towards Neutron, if we instead supply a \"dns_name\" (I can\u0027t think of a better name for this right now!). Neutron, when it receives this name, is also in possession of the DNS domain name, so we can be a little smarter about determining the FQDN this on that side. I suspect this would require Neutron to expose the determined/generated \"dns_fqdn\" as a read-only option on the port.\n\nGiven a dns_name of \"vm01.test1\" OR \"vm01.test1.example.com.\", and a domain of \"example.com.\", the VM\u0027s DHCP settings should be:\n\n* FQDN: vm01.test1.example.org.\n* DHCP Hostname: vm01\n* DHCP Domain Name: test1.example.org.\n* DHCP Search Domains (Option 1): test1.example.org.\n* DHCP Search Domains (Option 2): test1.example.org., example.org.\n\nI\u0027m actually not 100% sure which of the two DHCP search domain options is technically correct, but I believe it\u0027s Option 1.\n\nRe \"What if the domain doesn\u0027t match any domain that we are allowed to update in Designate?\". If a FQDN is passed, Neutron should validate it ends with with configured dns_domain.. Or it can just punt that to Designate etc, and we\u0027ll let you know when things aren\u0027t all lined up. Designate has a whole bunch of logic for validating RR placement, as even given a perfectly valid FQDN, there are a whole bunch of contextual rules that also play a part in \"the valid or invalid\" decision.","commit_id":"73b1ae694cc6ef23ba3d79cd427c3954b79a08a3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"3c043a1cb76c72d81f3a803ef928d4ef0e56f55c","unresolved":false,"context_lines":[{"line_number":136,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":137,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":140,"context_line":"   could try to use the domain supplied with the dns_label as an override for"},{"line_number":141,"context_line":"   the domain set on the network (currently openstack.local).  This could get a"},{"line_number":142,"context_line":"   bit complicated especially given the external-dns-resolution blueprint that"}],"source_content_type":"text/x-rst","patch_set":14,"id":"3afb71cf_46e372d9","line":139,"in_reply_to":"3afb71cf_5c592534","updated":"2015-06-10 21:50:45.000000000","message":"I\u0027d like to see what Kiall thinks here.  Back to the drawing board.\n\nWhat should we do when nova passes us a multi-label name?  Do we distinguish between those that end with a period and those that don\u0027t?  What if the domain doesn\u0027t match any domain that we are allowed to update in Designate?  I was hoping that we could punt on these questions but clearly we have to deal with them now.\n\nIf this is just a contrived scenario, I\u0027d rather just punt it.  How many people actually pass multi-part names to nova anyway?","commit_id":"73b1ae694cc6ef23ba3d79cd427c3954b79a08a3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"ed55574955e67f931b8386c411a563612c69b2c4","unresolved":false,"context_lines":[{"line_number":136,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":137,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":140,"context_line":"   could try to use the domain supplied with the dns_label as an override for"},{"line_number":141,"context_line":"   the domain set on the network (currently openstack.local).  This could get a"},{"line_number":142,"context_line":"   bit complicated especially given the external-dns-resolution blueprint that"}],"source_content_type":"text/x-rst","patch_set":14,"id":"fa32b979_29b935cc","line":139,"in_reply_to":"fa32b979_21af1a7e","updated":"2015-06-18 15:52:10.000000000","message":"So,\n\n- Change dns_label to dns_name\n- If ends with ., validate that it matches the configured name\n- If not ends with ., append the configured domain.\n- Add read-only dns_fqdn attribute to port.\n\nIs that a good summary?","commit_id":"73b1ae694cc6ef23ba3d79cd427c3954b79a08a3"},{"author":{"_account_id":11682,"name":"Ryan Moats","email":"rmoats@us.ibm.com","username":"regXboi"},"change_message_id":"be056e72d35af8ab6f99c4f50d173015c4b16c4d","unresolved":false,"context_lines":[{"line_number":136,"context_line":"In this case, only the first component of the name will be used.  Everything"},{"line_number":137,"context_line":"after the first \u0027.\u0027 will be stripped and ignored for now."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":".. NOTE We could opt for something more complicated here.  For example, we"},{"line_number":140,"context_line":"   could try to use the domain supplied with the dns_label as an override for"},{"line_number":141,"context_line":"   the domain set on the network (currently openstack.local).  This could get a"},{"line_number":142,"context_line":"   bit complicated especially given the external-dns-resolution blueprint that"}],"source_content_type":"text/x-rst","patch_set":14,"id":"fa32b979_bb621915","line":139,"in_reply_to":"fa32b979_29b935cc","updated":"2015-06-21 23:48:30.000000000","message":"That\u0027s my reading of the thread (FWIW)","commit_id":"73b1ae694cc6ef23ba3d79cd427c3954b79a08a3"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"b1dd4468908c04b97d60cfba7ed1fa24072bb788","unresolved":false,"context_lines":[{"line_number":53,"context_line":".. [#] https://blueprints.launchpad.net/nova/+spec/internal-dns-resolution"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The Neutron Port API will be extended to add a *dns_name* field to the port."},{"line_number":56,"context_line":"This field will be used by Nova to pass an intance\u0027s *hostname* during port"},{"line_number":57,"context_line":"creation or update. The valid values for this field are:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- A partially qualified domain name (PQDN)."}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa32b979_21aa5671","line":56,"range":{"start_line":56,"start_character":43,"end_line":56,"end_character":50},"updated":"2015-06-22 06:53:11.000000000","message":"typo: instance","commit_id":"7d91847d94197bc887028f656579f41a71d4b555"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"b1dd4468908c04b97d60cfba7ed1fa24072bb788","unresolved":false,"context_lines":[{"line_number":171,"context_line":"A second read-only attribute, *dns_fqdn*, will be added to the Port data model."},{"line_number":172,"context_line":"The API will add this *dns_fqdn* attribute when showing the port details and"},{"line_number":173,"context_line":"will store the FQDN generated by Neutron, as described in the \u0027Overview_\u0027"},{"line_number":174,"context_line":"section."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"An appropriate database migration script will be provided along with the"},{"line_number":177,"context_line":"implementation to add these fields to the ports table on upgrade."}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa32b979_f6c75362","line":174,"updated":"2015-06-22 06:53:11.000000000","message":"will there be a unique constraint of some sort?","commit_id":"7d91847d94197bc887028f656579f41a71d4b555"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"9419a614e86d911026d666cfdc21f794d8e50d53","unresolved":false,"context_lines":[{"line_number":171,"context_line":"A second read-only attribute, *dns_fqdn*, will be added to the Port data model."},{"line_number":172,"context_line":"The API will add this *dns_fqdn* attribute when showing the port details and"},{"line_number":173,"context_line":"will store the FQDN generated by Neutron, as described in the \u0027Overview_\u0027"},{"line_number":174,"context_line":"section."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"An appropriate database migration script will be provided along with the"},{"line_number":177,"context_line":"implementation to add these fields to the ports table on upgrade."}],"source_content_type":"text/x-rst","patch_set":16,"id":"fa32b979_0cb6663d","line":174,"in_reply_to":"fa32b979_f6c75362","updated":"2015-06-22 08:09:17.000000000","message":"There is nothing wrong with multiple ports matching the same fqdn.","commit_id":"7d91847d94197bc887028f656579f41a71d4b555"}]}
