)]}'
{"specs/approved/support-iscdhcpdriver-for-standalone-deployment.rst":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"65df3c6fd5e4c71d1827748fc46517411b736c13","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"We should configure an external DHCP server manually when we use none"},{"line_number":24,"context_line":"dhcp provider in standalone provisioning."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_e855dc1e","line":23,"range":{"start_line":23,"start_character":3,"end_line":23,"end_character":9},"updated":"2018-01-10 22:25:27.000000000","message":"nit: s/should/must/","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"We should configure an external DHCP server manually when we use none"},{"line_number":24,"context_line":"dhcp provider in standalone provisioning."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_a6629815","line":23,"range":{"start_line":23,"start_character":3,"end_line":23,"end_character":9},"in_reply_to":"7f96bb07_e855dc1e","updated":"2018-01-11 09:49:19.000000000","message":"Done","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"65df3c6fd5e4c71d1827748fc46517411b736c13","unresolved":false,"context_lines":[{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"ISCDHCPApi will be defined, can configure isc dhcp server."},{"line_number":30,"context_line":"And new dhcp provider will be added as named iscdhcp."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_5b829c51","line":30,"updated":"2018-01-10 22:25:27.000000000","message":"A new dhcp provider may face some resistance. Here is why:\n1) Ironic has a concept of network_interface, presently \u0027noop\u0027, \u0027flat\u0027, \u0027neutron\u0027. In this case, \u0027noop\u0027 would be what stand-alone deployments can use, however \u0027flat\u0027 is essentially neutron flat networks, and \u0027neutron\u0027 are for ML2 enabled ports where we have sufficient information and capability to toggle the physical network the switchport is attached to.\n2) The ironic community has discussed deprecating dhcp_provider in favor if the network interfaces for some time, although we... in the last six months or so, have also come to realize that Neutron can service multiple DHCP servers, and some of the configuration asserted by ironic is dnsmasq specific. :(  That might actually help this case.\n\nAnyway, just wanted to raise visibility.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"ISCDHCPApi will be defined, can configure isc dhcp server."},{"line_number":30,"context_line":"And new dhcp provider will be added as named iscdhcp."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_c609e4dd","line":30,"in_reply_to":"7f96bb07_193bbcd1","updated":"2018-01-11 09:49:19.000000000","message":"Thanks for your detailed comments. It seems to be the right thing to put the important logic in the network_interface as you said. However, update_dhcp_opts and get_ip_address will be defined in new OSCDHCPApi like the current neutron provider.\nNew Class will be created named ISCDHCPNetwork which has business logic about setting up the network for the node.\nAs a result, two classes call the new dhcpd hanlder. If the dhcp provider deprecated, isc dhcp provider would be deleted according to new code flow.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ad6896fc789905d17381aafaeced1a3de25821de","unresolved":false,"context_lines":[{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"ISCDHCPApi will be defined, can configure isc dhcp server."},{"line_number":30,"context_line":"And new dhcp provider will be added as named iscdhcp."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_193bbcd1","line":30,"in_reply_to":"7f96bb07_5b829c51","updated":"2018-01-11 00:44:37.000000000","message":"An additional consideration, that may also be worth consideration/thought/adaptation: A single conductor, if using neutron dhcp provider, can service flat and neutron networks. If we continue down the path of deprecation, and move the concept to a dhcp driving network_interface, then we have the advantage of possibly being able to support mixed environments where some networks could be neutron, and others could be standalone + iscdhcp. We may end up wanting to support an additional flat network concept for stand-alone users at that point, but that begins to get a little complex. Bottom line, I think it might be best if we consider a network_interface instead of a conductor level dhcp provider.  Truthfully, I can be convinced either way at this point.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"65df3c6fd5e4c71d1827748fc46517411b736c13","unresolved":false,"context_lines":[{"line_number":30,"context_line":"And new dhcp provider will be added as named iscdhcp."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_1bd97482","line":33,"updated":"2018-01-10 22:25:27.000000000","message":"Wouldn\u0027t it make sense to also support dns_server at this level?\n\nAlso, what about portgroups?  Does it matter?","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"26a3574ca1f545ca43b51ffc4cc1029f50ade48e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"And new dhcp provider will be added as named iscdhcp."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_9ea572b8","line":33,"in_reply_to":"7f96bb07_1bd97482","updated":"2018-01-10 23:29:03.000000000","message":"+1 for what Julia brought up. I would also add that these parameters while descriptive are also generic and conflict with other uses of the port extra. Along those lines extra has always been a plan that operators and add there own metadata/ information. At a minimum I feel these values should be prefaced with a DHCP_ or better yet a new DHCP field be added to the port object.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"d17f5ef5b6607a7b20d2f3ad46b4f4e21969e30f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"And new dhcp provider will be added as named iscdhcp."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_08d5f8e4","line":33,"in_reply_to":"7f96bb07_26a2089c","updated":"2018-01-31 17:55:24.000000000","message":"My personal opinion is that the vif attach API is what you want for this, the current network interfaces only take an ID, however the vif attach API accepts and passes through additional fields to the network drivers vif attach function meaning you can do:\n\nPOST /nodes/\u003cuuid\u003e/vifs {id: \u003cip address or preferably a CIDR\u003e, gateway: \u003cgateway\u003e, dns_server: \u003cdns server\u003e}\n\nand then in your network interface\u0027s vif attach function you can map that data to a port and save that information however you want to in port.internal_info.\n\nIt doesn\u0027t even have to be a 1:1 mapping, its down to the network interface vif attach to handle vif to port mapping, so if you want to support it you can map multiple vifs onto a single port.\n\nDoing it this way avoids having to add implementation specific things to the port data model, and API.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ad6896fc789905d17381aafaeced1a3de25821de","unresolved":false,"context_lines":[{"line_number":30,"context_line":"And new dhcp provider will be added as named iscdhcp."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_fe2356bd","line":33,"in_reply_to":"7f96bb07_9ea572b8","updated":"2018-01-11 00:44:37.000000000","message":"A port level dhcp field doesn\u0027t exactly jive with our data model, but Chris does raise the point, the extra field is also always been for operators to do their own thing. This does, however, indicate it is extra. We could... consider an addition/adaptation to vifs, however here there is a 1:1 mapping, where as in the virtual universe there is not a direct mapping.\n\nAt the same time, I\u0027m not sure ironic wants to truly be in the business of DHCP management, so maybe use of extra, or some other port level field might be okay for this case.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":30,"context_line":"And new dhcp provider will be added as named iscdhcp."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_26a2089c","line":33,"in_reply_to":"7f96bb07_fe2356bd","updated":"2018-01-11 09:49:19.000000000","message":"It seems that neutron network interface already uses extra field of port what configure dnsmasq.({vif_port_id: \u003ctag uuid of dnsmasq\u003e}\nIf creating a new dhcp field is better than using extra field, I would consider of it.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"26a3574ca1f545ca43b51ffc4cc1029f50ade48e","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."},{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_1e85e2ad","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":67},"updated":"2018-01-10 23:29:03.000000000","message":"I would like to see a ``next-server`` option here. it could default to conductor IP but should be settable. This way a operator could define which server can be used for tftp, this maybe helpful in large deployments.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."},{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_46cdd45b","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":67},"in_reply_to":"7f96bb07_1e85e2ad","updated":"2018-01-11 09:49:19.000000000","message":"Thanks for your comments Chris.\nCould you review below summary of DHCP options?\n\n[Required Options for ISC DHCP]\n\nlocation     option\t    how_to_get\t                          where_to_set\n------------ -------------- ------------------------------------- ------------------------\n-\t     dhcp_servers   conf.dhcp.dhcp_servers                dhcpd_handler (will be added)\nglobal\t     omapi_key\t    conf.dhcp.omapi_key                   dhcpd_handler (will be added)\n\t     omapi_port\t    conf.dhcp.omapi_port                  dhcpd_handler (will be added)\n\t     omapi_secret   conf.dhcp.omapi_secret                dhcpd_handler (will be added)\nsubnet\t     subnet\t    conf.dhcp.subnet                      dhcpd_handler (will be added)\n\t     netmask        conf.dhcp.netmask                     dhcpd_handler (will be added)\n\t     routers        conf.dhcp.routers                     dhcpd_handler (will be added)\nhost(node)   mac_address    port.address(exists)                  modules.network.iscdhcp.ISCDHCPNetwork:add_provisioing_network\n\t     ip_address\t    port.extra fields                     modules.network.iscdhcp.ISCDHCPNetwork:add_provisioing_network\n\t     netmask        port.extra fields                     modules.network.iscdhcp.ISCDHCPNetwork:add_provisioing_network\n\t     dns_server     port.extra fields                     modules.network.iscdhcp.ISCDHCPNetwork:add_provisioing_network\n\t     next_server    conf.pxe.tftp_server(exists)          dhcp.none.ISCDHCPApi:update_dhcp_opts\n\t     tftp_filename  conf.pxe.pxe_bootfile_name(exists)    dhcp.none.ISCDHCPApi:update_dhcp_opts","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"4af25c0a2ff7546ebfa4ed71b79847f8f273dca9","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."},{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_93ac648d","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":67},"in_reply_to":"7f96bb07_46cdd45b","updated":"2018-01-12 05:07:03.000000000","message":"Actually we cannot handles detail configurations through omapi.\nTherefore we should change the code design to use dhcpd template.\n\nWe don\u0027t need to omapi related configuration in this case.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"3f26d3d33a674105680dfcd03afbba9dccf4c897","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* New optional parameters will be added for node deploy in the"},{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."},{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_d32361bc","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":67},"in_reply_to":"7f96bb07_46cdd45b","updated":"2018-01-30 23:02:30.000000000","message":"JFYI, There are two parts of configuration in ISC dhcpd server. One is in dhcpd.conf and another one is in dhcpd.leases file. OMAPI only handles adding/removing leases to the dhcpd.leases file. The subnet info that needs to be added to dhcpd.conf isn\u0027t handled by omapi at all, so you will need a separate parser for that. Also any changes to dhcpd.conf will require you to restart the ISC dhcpd. \n\nI like the idea proposed by chris krelle, because with KEA dhcpd, additions to dhcpd.conf doesn\u0027t need a restart. \n\nFor a high scale environment KEA is the best option.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"26a3574ca1f545ca43b51ffc4cc1029f50ade48e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."},{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."},{"line_number":39,"context_line":"* When cleaning an ironic node, remove the node\u0027s IP and MAc on the external"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_be762e3e","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":67},"updated":"2018-01-10 23:29:03.000000000","message":"as an option to IscDhcp / okapi, have you investigated KEA: https://www.isc.org/kea/","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  port.extra: ``ip_addess``, ``netmask``, ``gateway``"},{"line_number":34,"context_line":"* A new config options ``dhcp_servers``,``gateway``, ``omapi_key``,"},{"line_number":35,"context_line":"  ``omapi_secret``, ``dns_server`` will be added in ``dhcp`` group."},{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."},{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."},{"line_number":39,"context_line":"* When cleaning an ironic node, remove the node\u0027s IP and MAc on the external"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_26f9a87f","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":67},"in_reply_to":"7f96bb07_be762e3e","updated":"2018-01-11 09:49:19.000000000","message":"The default dhcp server currently used by most linux OS is the isc dhcp server. Threfore, it is better to use a dhcp server that is the most popular and stable.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"65df3c6fd5e4c71d1827748fc46517411b736c13","unresolved":false,"context_lines":[{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."},{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."},{"line_number":39,"context_line":"* When cleaning an ironic node, remove the node\u0027s IP and MAc on the external"},{"line_number":40,"context_line":"  dhcp server."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_9b3b449b","line":39,"range":{"start_line":39,"start_character":57,"end_line":39,"end_character":60},"updated":"2018-01-10 22:25:27.000000000","message":"nit: s/MAc/MAC/","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":36,"context_line":"* The dhcp server will be dynamically configured via omapi library."},{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."},{"line_number":39,"context_line":"* When cleaning an ironic node, remove the node\u0027s IP and MAc on the external"},{"line_number":40,"context_line":"  dhcp server."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_666c9008","line":39,"range":{"start_line":39,"start_character":57,"end_line":39,"end_character":60},"in_reply_to":"7f96bb07_9b3b449b","updated":"2018-01-11 09:49:19.000000000","message":"Done","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"65df3c6fd5e4c71d1827748fc46517411b736c13","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."},{"line_number":39,"context_line":"* When cleaning an ironic node, remove the node\u0027s IP and MAc on the external"},{"line_number":40,"context_line":"  dhcp server."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_3b59d0fd","line":40,"updated":"2018-01-10 22:25:27.000000000","message":"Why would the act of cleaning remove the IP address from the dhcp server? We still need to be able to boot the baremetal node, and and perform cleaning operations on the disk.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"d17f5ef5b6607a7b20d2f3ad46b4f4e21969e30f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."},{"line_number":39,"context_line":"* When cleaning an ironic node, remove the node\u0027s IP and MAc on the external"},{"line_number":40,"context_line":"  dhcp server."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_e8568c2a","line":40,"in_reply_to":"7f96bb07_06f02c90","updated":"2018-01-31 17:55:24.000000000","message":"Would we ever want to run a distinct subnet range for cleaning similar to what we do with neutron today? i.e. remove the user IP address from the DHCP server, and then pick and configure one from a separate range (provided in the config file) for cleaning?","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"26a3574ca1f545ca43b51ffc4cc1029f50ade48e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."},{"line_number":39,"context_line":"* When cleaning an ironic node, remove the node\u0027s IP and MAc on the external"},{"line_number":40,"context_line":"  dhcp server."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_7eb746da","line":40,"in_reply_to":"7f96bb07_3b59d0fd","updated":"2018-01-10 23:29:03.000000000","message":"I agree with Julia here, I would see this one of the final steps in a delete.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* When deploying an ironic node, register the IP and MAC of the node"},{"line_number":38,"context_line":"  with the external dhcp server."},{"line_number":39,"context_line":"* When cleaning an ironic node, remove the node\u0027s IP and MAc on the external"},{"line_number":40,"context_line":"  dhcp server."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_06f02c90","line":40,"in_reply_to":"7f96bb07_7eb746da","updated":"2018-01-11 09:49:19.000000000","message":"Done","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"65df3c6fd5e4c71d1827748fc46517411b736c13","unresolved":false,"context_lines":[{"line_number":44,"context_line":"------------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatively, we could configura external dhcp server manually with \u0027none\u0027"},{"line_number":47,"context_line":"dhcp provider."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Data model impact"},{"line_number":50,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_9b0904df","line":47,"updated":"2018-01-10 22:25:27.000000000","message":"While this is an alternative, this is also the problem. I think it might be fair to just say \"None\" :)","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":44,"context_line":"------------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatively, we could configura external dhcp server manually with \u0027none\u0027"},{"line_number":47,"context_line":"dhcp provider."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Data model impact"},{"line_number":50,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_e6c8a075","line":47,"in_reply_to":"7f96bb07_9b0904df","updated":"2018-01-11 09:49:19.000000000","message":"Done","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"65df3c6fd5e4c71d1827748fc46517411b736c13","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"N/A"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":".. NOTE: This section was not present at the time this spec was approved."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Security impact"},{"line_number":92,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_5b2cdc46","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":73},"updated":"2018-01-10 22:25:27.000000000","message":"This doesn\u0027t seem pertinent...","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"N/A"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":".. NOTE: This section was not present at the time this spec was approved."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Security impact"},{"line_number":92,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_06c6ec68","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":73},"in_reply_to":"7f96bb07_5b2cdc46","updated":"2018-01-11 09:49:19.000000000","message":"Done","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"65df3c6fd5e4c71d1827748fc46517411b736c13","unresolved":false,"context_lines":[{"line_number":96,"context_line":"Other end user impact"},{"line_number":97,"context_line":"---------------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"User should add several information about address of instance using CLI::"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  openstack baremetal port set \u003cuuid\u003e --extra ip_address\u003dx.x.x.x --extra \\"},{"line_number":102,"context_line":"  netmask\u003d255.255.255.0 --gateway\u003dx.x.x.x"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_7bd2f836","line":99,"updated":"2018-01-10 22:25:27.000000000","message":"nit: you should likely indicate standalone users.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":96,"context_line":"Other end user impact"},{"line_number":97,"context_line":"---------------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"User should add several information about address of instance using CLI::"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  openstack baremetal port set \u003cuuid\u003e --extra ip_address\u003dx.x.x.x --extra \\"},{"line_number":102,"context_line":"  netmask\u003d255.255.255.0 --gateway\u003dx.x.x.x"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_66aa5086","line":99,"in_reply_to":"7f96bb07_7bd2f836","updated":"2018-01-11 09:49:19.000000000","message":"Done","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"65df3c6fd5e4c71d1827748fc46517411b736c13","unresolved":false,"context_lines":[{"line_number":145,"context_line":"* Define add_provisioning_network, dhcp_options_for_instance,"},{"line_number":146,"context_line":"  update_dhcp_opts, clean_dhcp_upts methods."},{"line_number":147,"context_line":"* Add OMapi library handlers."},{"line_number":148,"context_line":"* Add unit tests."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_fb93685b","line":148,"updated":"2018-01-10 22:25:27.000000000","message":"It would be good to have an integration test, however this may also be something that could also be implemented in bifrost for stand-alone users.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"},{"author":{"_account_id":1523,"name":"SeungjinHan","email":"seungjin.han@kt.com","username":"yongiman"},"change_message_id":"90e9efb04f882d78518b61df9435b394a0d61197","unresolved":false,"context_lines":[{"line_number":145,"context_line":"* Define add_provisioning_network, dhcp_options_for_instance,"},{"line_number":146,"context_line":"  update_dhcp_opts, clean_dhcp_upts methods."},{"line_number":147,"context_line":"* Add OMapi library handlers."},{"line_number":148,"context_line":"* Add unit tests."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7f96bb07_26276815","line":148,"in_reply_to":"7f96bb07_fb93685b","updated":"2018-01-11 09:49:19.000000000","message":"OK. I will add integration test in ironic and bifrost also.","commit_id":"f3fbab51cd3087ec46a4dc6682847792d71149ca"}]}
