)]}'
{"doc/source/deploy/install-guide.rst":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"5a0621760db41da79f93bf7c158f3eec97f2fb71","unresolved":false,"context_lines":[{"line_number":839,"context_line":"    service ironic-conductor restart"},{"line_number":840,"context_line":""},{"line_number":841,"context_line":""},{"line_number":842,"context_line":"Neutron configuration"},{"line_number":843,"context_line":"---------------------"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":"Ironic makes use of one DHCP tag called ``ipxe`` to identify if the DHCP"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_44f2c2d3","line":842,"updated":"2015-04-21 16:24:37.000000000","message":"Lucas, does this apply only for ipxe? If so, maybe we could put this under \u0027ipxe setup\u0027 section instead of at the same level as \u0027ipxe setup\u0027.","commit_id":"f85ada545eab700e7ee9f1f21f38e2a822c1cabf"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e6da405ce6ae907426c36c0d2b1d5f248a2b8be9","unresolved":false,"context_lines":[{"line_number":839,"context_line":"    service ironic-conductor restart"},{"line_number":840,"context_line":""},{"line_number":841,"context_line":""},{"line_number":842,"context_line":"Neutron configuration"},{"line_number":843,"context_line":"---------------------"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":"Ironic makes use of one DHCP tag called ``ipxe`` to identify if the DHCP"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_1bbae8c0","line":842,"in_reply_to":"dac4157f_44f2c2d3","updated":"2015-04-21 17:19:59.000000000","message":"Yes only for iPXE","commit_id":"f85ada545eab700e7ee9f1f21f38e2a822c1cabf"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"5a0621760db41da79f93bf7c158f3eec97f2fb71","unresolved":false,"context_lines":[{"line_number":842,"context_line":"Neutron configuration"},{"line_number":843,"context_line":"---------------------"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":"Ironic makes use of one DHCP tag called ``ipxe`` to identify if the DHCP"},{"line_number":846,"context_line":"request came from iPXE and if not tell the client to chainload the iPXE"},{"line_number":847,"context_line":"image (undionly.kpxe). This tag is not created in Neutron by default,"},{"line_number":848,"context_line":"so we need to configure Neutron to create it."}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_24ffceab","line":845,"updated":"2015-04-21 16:24:37.000000000","message":"s/one/a/ or s/one/the/","commit_id":"f85ada545eab700e7ee9f1f21f38e2a822c1cabf"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e6da405ce6ae907426c36c0d2b1d5f248a2b8be9","unresolved":false,"context_lines":[{"line_number":842,"context_line":"Neutron configuration"},{"line_number":843,"context_line":"---------------------"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":"Ironic makes use of one DHCP tag called ``ipxe`` to identify if the DHCP"},{"line_number":846,"context_line":"request came from iPXE and if not tell the client to chainload the iPXE"},{"line_number":847,"context_line":"image (undionly.kpxe). This tag is not created in Neutron by default,"},{"line_number":848,"context_line":"so we need to configure Neutron to create it."}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_fbb054df","line":845,"in_reply_to":"dac4157f_24ffceab","updated":"2015-04-21 17:19:59.000000000","message":"Done","commit_id":"f85ada545eab700e7ee9f1f21f38e2a822c1cabf"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"5a0621760db41da79f93bf7c158f3eec97f2fb71","unresolved":false,"context_lines":[{"line_number":847,"context_line":"image (undionly.kpxe). This tag is not created in Neutron by default,"},{"line_number":848,"context_line":"so we need to configure Neutron to create it."},{"line_number":849,"context_line":""},{"line_number":850,"context_line":"#. Create a custom ``dnsmasq.conf`` setting the ``ipxe`` tag, e.g::"},{"line_number":851,"context_line":""},{"line_number":852,"context_line":"    cat \u003e /etc/dnsmasq-ironic.conf \u003c\u003c EOF"},{"line_number":853,"context_line":"    dhcp-match\u003dipxe,175"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_e41b167f","line":850,"updated":"2015-04-21 16:24:37.000000000","message":"In your example, you are creating the file /etc/dnsmasq-ironic.conf. To tie it in with the description, how about something like \u0027Create a custom dnsmasq.conf file with a setting for the ipxe tag. For example, the following creates the file /etc/dnsmasq-ironic.conf::","commit_id":"f85ada545eab700e7ee9f1f21f38e2a822c1cabf"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e6da405ce6ae907426c36c0d2b1d5f248a2b8be9","unresolved":false,"context_lines":[{"line_number":847,"context_line":"image (undionly.kpxe). This tag is not created in Neutron by default,"},{"line_number":848,"context_line":"so we need to configure Neutron to create it."},{"line_number":849,"context_line":""},{"line_number":850,"context_line":"#. Create a custom ``dnsmasq.conf`` setting the ``ipxe`` tag, e.g::"},{"line_number":851,"context_line":""},{"line_number":852,"context_line":"    cat \u003e /etc/dnsmasq-ironic.conf \u003c\u003c EOF"},{"line_number":853,"context_line":"    dhcp-match\u003dipxe,175"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_6eba4025","line":850,"in_reply_to":"dac4157f_e41b167f","updated":"2015-04-21 17:19:59.000000000","message":"Done","commit_id":"f85ada545eab700e7ee9f1f21f38e2a822c1cabf"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"5a0621760db41da79f93bf7c158f3eec97f2fb71","unresolved":false,"context_lines":[{"line_number":854,"context_line":"    EOF"},{"line_number":855,"context_line":""},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"#. Set the custom ``dnsmasq.conf`` in the Neutron DHCP Agent configuration"},{"line_number":858,"context_line":"   file (/etc/neutron/dhcp_agent.ini)::"},{"line_number":859,"context_line":""},{"line_number":860,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_38837258","line":857,"updated":"2015-04-21 16:24:37.000000000","message":"How about \u0027In the Neutron ... file (..), set the custom dnsmasq.conf file (/etc/dnsmasq-ironic.conf in this example) as the dnsmasq configuration file.","commit_id":"f85ada545eab700e7ee9f1f21f38e2a822c1cabf"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e6da405ce6ae907426c36c0d2b1d5f248a2b8be9","unresolved":false,"context_lines":[{"line_number":854,"context_line":"    EOF"},{"line_number":855,"context_line":""},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"#. Set the custom ``dnsmasq.conf`` in the Neutron DHCP Agent configuration"},{"line_number":858,"context_line":"   file (/etc/neutron/dhcp_agent.ini)::"},{"line_number":859,"context_line":""},{"line_number":860,"context_line":"    [DEFAULT]"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_4e8c1c7f","line":857,"in_reply_to":"dac4157f_38837258","updated":"2015-04-21 17:19:59.000000000","message":"Done","commit_id":"f85ada545eab700e7ee9f1f21f38e2a822c1cabf"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"5a0621760db41da79f93bf7c158f3eec97f2fb71","unresolved":false,"context_lines":[{"line_number":855,"context_line":""},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"#. Set the custom ``dnsmasq.conf`` in the Neutron DHCP Agent configuration"},{"line_number":858,"context_line":"   file (/etc/neutron/dhcp_agent.ini)::"},{"line_number":859,"context_line":""},{"line_number":860,"context_line":"    [DEFAULT]"},{"line_number":861,"context_line":"    dnsmasq_config_file \u003d /etc/dnsmasq-ironic.conf"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_9836fee5","line":858,"updated":"2015-04-21 16:24:37.000000000","message":"I don\u0027t know much about neutron, is it always this path, or typically here? If the latter, you could add \u0027typically located at /etc/...\u0027","commit_id":"f85ada545eab700e7ee9f1f21f38e2a822c1cabf"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"e6da405ce6ae907426c36c0d2b1d5f248a2b8be9","unresolved":false,"context_lines":[{"line_number":855,"context_line":""},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"#. Set the custom ``dnsmasq.conf`` in the Neutron DHCP Agent configuration"},{"line_number":858,"context_line":"   file (/etc/neutron/dhcp_agent.ini)::"},{"line_number":859,"context_line":""},{"line_number":860,"context_line":"    [DEFAULT]"},{"line_number":861,"context_line":"    dnsmasq_config_file \u003d /etc/dnsmasq-ironic.conf"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_b169ddc0","line":858,"in_reply_to":"dac4157f_9836fee5","updated":"2015-04-21 17:19:59.000000000","message":"I believe it\u0027s typically there","commit_id":"f85ada545eab700e7ee9f1f21f38e2a822c1cabf"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"6e15afa7c1ed15c822b0768d520740bd44cb8d02","unresolved":false,"context_lines":[{"line_number":843,"context_line":"---------------------"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":"Ironic makes use of a DHCP tag called ``ipxe`` to identify if the DHCP"},{"line_number":846,"context_line":"request came from iPXE and if not tell the client to chainload the iPXE"},{"line_number":847,"context_line":"image (undionly.kpxe). This tag is not created in Neutron by default,"},{"line_number":848,"context_line":"so we need to configure Neutron to create it."},{"line_number":849,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dac4157f_2200d900","line":846,"updated":"2015-04-21 18:37:54.000000000","message":"Argh. I must have forgotten to save the comment I had about this.\n\nI wasn\u0027t sure what \u0027and if not ...\u0027 meant. Do you mean that if the DHCP request doesn\u0027t have an \u0027ipxe\u0027 tag, ironic will tell the client (what client?) to chainload ...","commit_id":"98b64cc87085ca1275a012d37e649efee01962f8"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"70d047023f8e2961429938ea8822fac8b463a5cb","unresolved":false,"context_lines":[{"line_number":843,"context_line":"---------------------"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":"Ironic makes use of a DHCP tag called ``ipxe`` to identify if the DHCP"},{"line_number":846,"context_line":"request came from iPXE and if not tell the client to chainload the iPXE"},{"line_number":847,"context_line":"image (undionly.kpxe). This tag is not created in Neutron by default,"},{"line_number":848,"context_line":"so we need to configure Neutron to create it."},{"line_number":849,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dac4157f_bded2b27","line":846,"in_reply_to":"dac4157f_2200d900","updated":"2015-04-21 19:42:41.000000000","message":"Yes kinda. If the DHCP request doesn\u0027t come from an iPXE image (DHCP option 175[1]), the DHCP server (not Ironic) will then tell the DHCP client (the one issuing the request, embedded in the NIC) to chainload the iPXE image. The flow goes more or less like this:\n\n1- Client does a DHCP request, if it does not come from iPXE, DHCP server will ACK telling it to get the undionly.kpxe binary via TFTP\n\n2- Client gets the undionly.kpxe and chainload it\n\n3- Client issue a DHCP request gain which now comes from iPXE, DHCP server will ACK telling it to get the boot.ipxe script from via HTTP.\n\n[1] http://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml#options","commit_id":"98b64cc87085ca1275a012d37e649efee01962f8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f1e7b648eab0ba562ec617fea96040e6fa48dc1c","unresolved":false,"context_lines":[{"line_number":843,"context_line":"---------------------"},{"line_number":844,"context_line":""},{"line_number":845,"context_line":"Ironic makes use of a DHCP tag called ``ipxe`` to identify if the DHCP"},{"line_number":846,"context_line":"request came from iPXE and if not tell the client to chainload the iPXE"},{"line_number":847,"context_line":"image (undionly.kpxe). This tag is not created in Neutron by default,"},{"line_number":848,"context_line":"so we need to configure Neutron to create it."},{"line_number":849,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dac4157f_602808e3","line":846,"in_reply_to":"dac4157f_bded2b27","updated":"2015-04-21 20:29:55.000000000","message":"OMG. Well, that\u0027s a great description, but how to summarize it in one sentence or so :) Is the following too long/too verbose?\n\nDHCP requests from iPXE need to be tagged with the ``ipxe`` DHCP tag, in order for this flow of events to occur:\n1. The client (embedded in the NIC) does a DHCP request. The client isn\u0027t from an iPXE image, so the DHCP server tells the client to get the undionly.kpxe binary via TFTP\n2. The client gets the undionly.kpxe binary and chainloads it\n3. The client issues a DHCP request again. This time the request is from iPXE, and the DPCP server tells the client to get the boot.ipxe script via HTTP.\n\nNeutron needs to be configured to create this DHCP tag, since it isn\u0027t created by default.\n\n--------\n\nTake 2.\n\nDHCP requests from iPXE need to have a DHCP tag called ``ipxe``, in order for the DHCP server to tell the client to get the boot.ipxe script via HTTP. Otherwise, if the tag isn\u0027t there, the DHCP server will tell the DHCP client to chainload the iPXE image (undionly.kpxe). Neutron needs to be configured to create this DHCP tag, since it isn\u0027t create by default.\n\n------\n\nTake 3. Use what you wrote. I\u0027m not sure if the above is too much information or not (it was useful for me but).","commit_id":"98b64cc87085ca1275a012d37e649efee01962f8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f1e7b648eab0ba562ec617fea96040e6fa48dc1c","unresolved":false,"context_lines":[{"line_number":861,"context_line":""},{"line_number":862,"context_line":"    [DEFAULT]"},{"line_number":863,"context_line":"    dnsmasq_config_file \u003d /etc/dnsmasq-ironic.conf"},{"line_number":864,"context_line":""},{"line_number":865,"context_line":""},{"line_number":866,"context_line":"IPMI support"},{"line_number":867,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dac4157f_2031f005","line":864,"updated":"2015-04-21 20:29:55.000000000","message":"Neutron needs to be restarted, right?","commit_id":"98b64cc87085ca1275a012d37e649efee01962f8"}]}
