)]}'
{"doc/source/install/index.rst":[{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"4cb45c13fbfe209acd3d86e12c1492cc4570fdf1","unresolved":false,"context_lines":[{"line_number":13,"context_line":"   :maxdepth: 2"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"   get_started.rst"},{"line_number":16,"context_line":"   refarch/index"},{"line_number":17,"context_line":"   install.rst"},{"line_number":18,"context_line":"   configure-integration.rst"},{"line_number":19,"context_line":"   deploy-ramdisk.rst"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7f515b1d_1ec46ff4","line":16,"range":{"start_line":16,"start_character":11,"end_line":16,"end_character":16},"updated":"2017-10-09 09:05:28.000000000","message":"nit: s/index/index.rst/ for consistency","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"}],"doc/source/install/refarch/common.rst":[{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  * The conductor co-exists with a TFTP (for PXE) and HTTP (for iPXE) services"},{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"},{"line_number":27,"context_line":"    writing files to their root directories."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* The provisioning ramdisk is based on the ``ironic-python-agent`` service."},{"line_number":30,"context_line":"  This service has to be installed on the ramdisk and has to start on its"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_1c1dd465","line":27,"updated":"2017-08-01 13:18:12.000000000","message":"Something that a number of people I\u0027ve spoken to have been confused by is that the conductor needs to be able to communicate with the ramdisk API, so a common consideration for the conductor is that it needs to be able to talk to the ramdisk when it has booted, obviously how that happens depends on the arch you choose, but in all cases that use the agent that network path needs to be there somehow.","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  * The conductor co-exists with a TFTP (for PXE) and HTTP (for iPXE) services"},{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"},{"line_number":27,"context_line":"    writing files to their root directories."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* The provisioning ramdisk is based on the ``ironic-python-agent`` service."},{"line_number":30,"context_line":"  This service has to be installed on the ramdisk and has to start on its"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_202506ac","line":27,"in_reply_to":"df3967d1_1c1dd465","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"},{"line_number":27,"context_line":"    writing files to their root directories."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* The provisioning ramdisk is based on the ``ironic-python-agent`` service."},{"line_number":30,"context_line":"  This service has to be installed on the ramdisk and has to start on its"},{"line_number":31,"context_line":"  start-up."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_9ca54407","line":29,"range":{"start_line":29,"start_character":27,"end_line":29,"end_character":38},"updated":"2017-08-01 13:18:12.000000000","message":"\"is based on\" sounds weird to me, I think something like \"The provisioning ramdisk which runs the ironic-python-agent service on start up.\"","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"},{"line_number":27,"context_line":"    writing files to their root directories."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"* The provisioning ramdisk is based on the ``ironic-python-agent`` service."},{"line_number":30,"context_line":"  This service has to be installed on the ramdisk and has to start on its"},{"line_number":31,"context_line":"  start-up."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_8076f2a3","line":29,"range":{"start_line":29,"start_character":27,"end_line":29,"end_character":38},"in_reply_to":"df3967d1_9ca54407","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  .. warning::"},{"line_number":34,"context_line":"    ``ironic-python-agent`` must not be running anywhere, except for the"},{"line_number":35,"context_line":"    provisioning ramdisk."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Hardware and drivers"},{"line_number":38,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_1cc0347b","line":35,"updated":"2017-08-01 13:18:12.000000000","message":"Not sure I get the wording of this warning. Perhaps something like \"The ironic-python-agent service is not intended to be used anywhere other than a provisioning ramdisk doing so may result in unpredictable behaviour in Ironic\"","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  .. warning::"},{"line_number":34,"context_line":"    ``ironic-python-agent`` must not be running anywhere, except for the"},{"line_number":35,"context_line":"    provisioning ramdisk."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Hardware and drivers"},{"line_number":38,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_e0649ee7","line":35,"in_reply_to":"df3967d1_1cc0347b","updated":"2017-08-01 15:26:19.000000000","message":"and not only in ironic - it allows unauthenticated admin API","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The Bare Metal service strives to provide the best support possible for a"},{"line_number":41,"context_line":"variety of hardware. However, not all hardware is supported equally well."},{"line_number":42,"context_line":"It depends on both the capabilities of hardware itself and the fitting driver."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Power and management"},{"line_number":45,"context_line":"~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_3c465823","line":42,"range":{"start_line":42,"start_character":54,"end_line":42,"end_character":78},"updated":"2017-08-01 13:18:12.000000000","message":"\"and the available drivers\"","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The Bare Metal service strives to provide the best support possible for a"},{"line_number":41,"context_line":"variety of hardware. However, not all hardware is supported equally well."},{"line_number":42,"context_line":"It depends on both the capabilities of hardware itself and the fitting driver."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Power and management"},{"line_number":45,"context_line":"~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_20a866d9","line":42,"range":{"start_line":42,"start_character":54,"end_line":42,"end_character":78},"in_reply_to":"df3967d1_3c465823","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Power and management"},{"line_number":45,"context_line":"~~~~~~~~~~~~~~~~~~~~"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The baseline set of capabilities that the hardware has to provide and the"},{"line_number":48,"context_line":"driver has to support is as follows:"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"#. getting and setting the power state of the machine,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_1c0394ba","line":47,"range":{"start_line":47,"start_character":4,"end_line":47,"end_character":12},"updated":"2017-08-01 13:18:12.000000000","message":"s/baseline/minimum","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Power and management"},{"line_number":45,"context_line":"~~~~~~~~~~~~~~~~~~~~"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The baseline set of capabilities that the hardware has to provide and the"},{"line_number":48,"context_line":"driver has to support is as follows:"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"#. getting and setting the power state of the machine,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_c0b87a2b","line":47,"range":{"start_line":47,"start_character":4,"end_line":47,"end_character":12},"in_reply_to":"df3967d1_1c0394ba","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Once you make sure that the hardware supports these capabilities, you need to"},{"line_number":61,"context_line":"find a suitable driver. A lot of enterprise-grade hardware has support for"},{"line_number":62,"context_line":"IPMI_ and thus can utilize :doc:`/admin/drivers/ipmitool`. Several vendors"},{"line_number":63,"context_line":"provide more specific drivers that usually provide more additional"},{"line_number":64,"context_line":"capabilities. Check :doc:`/admin/drivers` to find the most suitable one."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. _PXE: https://en.wikipedia.org/wiki/Preboot_Execution_Environment"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_5c223c54","line":63,"range":{"start_line":63,"start_character":51,"end_line":63,"end_character":55},"updated":"2017-08-01 13:18:12.000000000","message":"s/more //","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":60,"context_line":"Once you make sure that the hardware supports these capabilities, you need to"},{"line_number":61,"context_line":"find a suitable driver. A lot of enterprise-grade hardware has support for"},{"line_number":62,"context_line":"IPMI_ and thus can utilize :doc:`/admin/drivers/ipmitool`. Several vendors"},{"line_number":63,"context_line":"provide more specific drivers that usually provide more additional"},{"line_number":64,"context_line":"capabilities. Check :doc:`/admin/drivers` to find the most suitable one."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":".. _PXE: https://en.wikipedia.org/wiki/Preboot_Execution_Environment"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_8084b25f","line":63,"range":{"start_line":63,"start_character":51,"end_line":63,"end_character":55},"in_reply_to":"df3967d1_5c223c54","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":96,"context_line":"other conductors."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"As a result of this, you need at least 2 conductor hosts for an HA deployment."},{"line_number":99,"context_line":"Due to them taking subtantial load, it is recommended, but not required, to"},{"line_number":100,"context_line":"keep all conductors separate from other services in the cloud. The minimum"},{"line_number":101,"context_line":"required number of conductors in the deployment depends on two factors:"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#. the maximum number of bare metal nodes that will be managed by the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_5cfa3c75","line":100,"range":{"start_line":99,"start_character":0,"end_line":100,"end_character":62},"updated":"2017-08-01 13:18:12.000000000","message":"This sentence feels weird to me, I think it feels like it needs more explanation the way its written at the moment.\n\nI think maybe replacing the \"Due to them taking subtantial load, it is recommended...\" with something like \"Conductors can be resource intensive, so it is recommended ...\"  would read better.","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":96,"context_line":"other conductors."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"As a result of this, you need at least 2 conductor hosts for an HA deployment."},{"line_number":99,"context_line":"Due to them taking subtantial load, it is recommended, but not required, to"},{"line_number":100,"context_line":"keep all conductors separate from other services in the cloud. The minimum"},{"line_number":101,"context_line":"required number of conductors in the deployment depends on two factors:"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#. the maximum number of bare metal nodes that will be managed by the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_20f626fb","line":100,"range":{"start_line":99,"start_character":0,"end_line":100,"end_character":62},"in_reply_to":"df3967d1_5cfa3c75","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":98,"context_line":"As a result of this, you need at least 2 conductor hosts for an HA deployment."},{"line_number":99,"context_line":"Due to them taking subtantial load, it is recommended, but not required, to"},{"line_number":100,"context_line":"keep all conductors separate from other services in the cloud. The minimum"},{"line_number":101,"context_line":"required number of conductors in the deployment depends on two factors:"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#. the maximum number of bare metal nodes that will be managed by the"},{"line_number":104,"context_line":"   deployment,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_bc65a847","line":101,"range":{"start_line":101,"start_character":59,"end_line":101,"end_character":62},"updated":"2017-08-01 13:18:12.000000000","message":"See the comment on L108 then s/two/several","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":98,"context_line":"As a result of this, you need at least 2 conductor hosts for an HA deployment."},{"line_number":99,"context_line":"Due to them taking subtantial load, it is recommended, but not required, to"},{"line_number":100,"context_line":"keep all conductors separate from other services in the cloud. The minimum"},{"line_number":101,"context_line":"required number of conductors in the deployment depends on two factors:"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#. the maximum number of bare metal nodes that will be managed by the"},{"line_number":104,"context_line":"   deployment,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_1cf4b485","line":101,"range":{"start_line":101,"start_character":33,"end_line":101,"end_character":36},"updated":"2017-08-01 13:18:12.000000000","message":"s/the/a/","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#. the maximum number of bare metal nodes that will be managed by the"},{"line_number":104,"context_line":"   deployment,"},{"line_number":105,"context_line":"#. the maximum number of bare metal nodes that will be provisioned (cleaned or"},{"line_number":106,"context_line":"   introspected) simultaneously."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"These numbers heavily depend on"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_bc17e8a3","line":106,"range":{"start_line":105,"start_character":0,"end_line":106,"end_character":32},"updated":"2017-08-01 13:18:12.000000000","message":"Is this something that can be controlled by the operator? I guess the nova max number of instances being built config option can play some part here.","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#. the maximum number of bare metal nodes that will be managed by the"},{"line_number":104,"context_line":"   deployment,"},{"line_number":105,"context_line":"#. the maximum number of bare metal nodes that will be provisioned (cleaned or"},{"line_number":106,"context_line":"   introspected) simultaneously."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"These numbers heavily depend on"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_20cf46b1","line":106,"range":{"start_line":105,"start_character":0,"end_line":106,"end_character":32},"in_reply_to":"df3967d1_bc17e8a3","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":105,"context_line":"#. the maximum number of bare metal nodes that will be provisioned (cleaned or"},{"line_number":106,"context_line":"   introspected) simultaneously."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"These numbers heavily depend on"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* the characteristics of the hardware where the conductor instances reside,"},{"line_number":111,"context_line":"* the performance of the management controller (BMC) of the bare metal nodes,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_bcca4817","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":31},"updated":"2017-08-01 13:18:12.000000000","message":"I would get rid of this sentence and make the list entries above and the list entries below part of one list of factors to consider","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":105,"context_line":"#. the maximum number of bare metal nodes that will be provisioned (cleaned or"},{"line_number":106,"context_line":"   introspected) simultaneously."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"These numbers heavily depend on"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* the characteristics of the hardware where the conductor instances reside,"},{"line_number":111,"context_line":"* the performance of the management controller (BMC) of the bare metal nodes,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_00c6829b","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":31},"in_reply_to":"df3967d1_bcca4817","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"These numbers heavily depend on"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* the characteristics of the hardware where the conductor instances reside,"},{"line_number":111,"context_line":"* the performance of the management controller (BMC) of the bare metal nodes,"},{"line_number":112,"context_line":"* the bare metal driver used for nodes,"},{"line_number":113,"context_line":"* the network performance."}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_5cdb5cec","line":110,"range":{"start_line":110,"start_character":2,"end_line":110,"end_character":74},"updated":"2017-08-01 13:18:12.000000000","message":"The performance of the hardware where the conductors will be running","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"These numbers heavily depend on"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* the characteristics of the hardware where the conductor instances reside,"},{"line_number":111,"context_line":"* the performance of the management controller (BMC) of the bare metal nodes,"},{"line_number":112,"context_line":"* the bare metal driver used for nodes,"},{"line_number":113,"context_line":"* the network performance."}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_60a42eba","line":110,"range":{"start_line":110,"start_character":2,"end_line":110,"end_character":74},"in_reply_to":"df3967d1_5cdb5cec","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":108,"context_line":"These numbers heavily depend on"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* the characteristics of the hardware where the conductor instances reside,"},{"line_number":111,"context_line":"* the performance of the management controller (BMC) of the bare metal nodes,"},{"line_number":112,"context_line":"* the bare metal driver used for nodes,"},{"line_number":113,"context_line":"* the network performance."},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_bcf36873","line":111,"range":{"start_line":111,"start_character":2,"end_line":111,"end_character":77},"updated":"2017-08-01 13:18:12.000000000","message":"The speed and reliability of the ...","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":108,"context_line":"These numbers heavily depend on"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"* the characteristics of the hardware where the conductor instances reside,"},{"line_number":111,"context_line":"* the performance of the management controller (BMC) of the bare metal nodes,"},{"line_number":112,"context_line":"* the bare metal driver used for nodes,"},{"line_number":113,"context_line":"* the network performance."},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_a099f679","line":111,"range":{"start_line":111,"start_character":2,"end_line":111,"end_character":77},"in_reply_to":"df3967d1_bcf36873","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":112,"context_line":"* the bare metal driver used for nodes,"},{"line_number":113,"context_line":"* the network performance."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"It was reported [1]_ [2]_ that the Ocata version of the conductor struggles"},{"line_number":116,"context_line":"with handling around **300** bare metal nodes each. Thus, it may be a good"},{"line_number":117,"context_line":"starting point to target around *100* bare metal nodes per conductor."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":".. [1] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118033.html"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_5741f738","line":116,"range":{"start_line":115,"start_character":66,"end_line":116,"end_character":52},"updated":"2017-08-01 13:18:12.000000000","message":"\"struggles\" sounds bad/informal, also it sounds better if we offer our recommendation first. So something like:\n\nWe recommend a target of *100* baremetal nodes per conductor for maximum reliability and performance. There is some tolerance for a larger number per conductor however it was reported \u003clinks\u003e that reliability will degrade when handling approximately 300 baremetals nodes per conductor.","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"649e6e352a189dcbf856ad54071e05e878733b06","unresolved":false,"context_lines":[{"line_number":112,"context_line":"* the bare metal driver used for nodes,"},{"line_number":113,"context_line":"* the network performance."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"It was reported [1]_ [2]_ that the Ocata version of the conductor struggles"},{"line_number":116,"context_line":"with handling around **300** bare metal nodes each. Thus, it may be a good"},{"line_number":117,"context_line":"starting point to target around *100* bare metal nodes per conductor."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":".. [1] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118033.html"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_209ce65b","line":116,"range":{"start_line":115,"start_character":66,"end_line":116,"end_character":52},"in_reply_to":"df3967d1_5741f738","updated":"2017-08-01 15:26:19.000000000","message":"Done","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":10,"context_line":"As explained in :doc:`../get_started`, the Bare Metal service has three"},{"line_number":11,"context_line":"components."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"* The Bare Metal API service (``ironic-api``) should be deployed the similar"},{"line_number":14,"context_line":"  way as the control plane API services. The exact location will depend on the"},{"line_number":15,"context_line":"  architecture used."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_193f1826","line":13,"range":{"start_line":13,"start_character":65,"end_line":13,"end_character":68},"updated":"2017-08-01 20:23:38.000000000","message":"nit - s/the/in a/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"As explained in :doc:`../get_started`, the Bare Metal service has three"},{"line_number":11,"context_line":"components."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"* The Bare Metal API service (``ironic-api``) should be deployed the similar"},{"line_number":14,"context_line":"  way as the control plane API services. The exact location will depend on the"},{"line_number":15,"context_line":"  architecture used."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_e25d5479","line":13,"range":{"start_line":13,"start_character":65,"end_line":13,"end_character":68},"in_reply_to":"df3967d1_193f1826","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"  * The conductor manages a certain proportion of nodes, distributed to it"},{"line_number":22,"context_line":"    via a hash ring. This includes constantly polling these nodes for their"},{"line_number":23,"context_line":"    current power state and metrics (if enabled and supported by hardware)."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  * The conductor co-exists with a TFTP (for PXE) and HTTP (for iPXE) services"},{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_d4b8372b","line":23,"range":{"start_line":23,"start_character":28,"end_line":23,"end_character":35},"updated":"2017-08-01 20:23:38.000000000","message":"Can you provide example of metrics being polled?","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"  * The conductor manages a certain proportion of nodes, distributed to it"},{"line_number":22,"context_line":"    via a hash ring. This includes constantly polling these nodes for their"},{"line_number":23,"context_line":"    current power state and metrics (if enabled and supported by hardware)."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  * The conductor co-exists with a TFTP (for PXE) and HTTP (for iPXE) services"},{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_624964b5","line":23,"range":{"start_line":23,"start_character":28,"end_line":23,"end_character":35},"in_reply_to":"df3967d1_d4b8372b","updated":"2017-08-04 14:38:16.000000000","message":"We cover it somewhere in the docs. Essentially, we can send sensor data (I should have called it \"sensor\" here) to Telemetry","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"77242df47fa95498d9035ea1501c0e93211a3e1b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    via a hash ring. This includes constantly polling these nodes for their"},{"line_number":23,"context_line":"    current power state and metrics (if enabled and supported by hardware)."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  * The conductor co-exists with a TFTP (for PXE) and HTTP (for iPXE) services"},{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"},{"line_number":27,"context_line":"    writing files to their root directories."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_e4f37b09","line":25,"range":{"start_line":25,"start_character":70,"end_line":25,"end_character":78},"updated":"2017-08-02 08:02:49.000000000","message":"Optionally, console related services may exist.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    via a hash ring. This includes constantly polling these nodes for their"},{"line_number":23,"context_line":"    current power state and metrics (if enabled and supported by hardware)."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  * The conductor co-exists with a TFTP (for PXE) and HTTP (for iPXE) services"},{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"},{"line_number":27,"context_line":"    writing files to their root directories."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_b91c8cc1","line":25,"range":{"start_line":25,"start_character":33,"end_line":25,"end_character":34},"updated":"2017-08-01 20:23:38.000000000","message":"nit - remove \u0027a\u0027","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    via a hash ring. This includes constantly polling these nodes for their"},{"line_number":23,"context_line":"    current power state and metrics (if enabled and supported by hardware)."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  * The conductor co-exists with a TFTP (for PXE) and HTTP (for iPXE) services"},{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"},{"line_number":27,"context_line":"    writing files to their root directories."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_026cd805","line":25,"range":{"start_line":25,"start_character":70,"end_line":25,"end_character":78},"in_reply_to":"df3967d1_e4f37b09","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"77242df47fa95498d9035ea1501c0e93211a3e1b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    current power state and metrics (if enabled and supported by hardware)."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  * The conductor co-exists with a TFTP (for PXE) and HTTP (for iPXE) services"},{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"},{"line_number":27,"context_line":"    writing files to their root directories."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_448da779","line":26,"range":{"start_line":26,"start_character":21,"end_line":26,"end_character":29},"updated":"2017-08-02 08:02:49.000000000","message":"To be specific, they are NBP and ramdisk images, user os is not included.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    current power state and metrics (if enabled and supported by hardware)."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"  * The conductor co-exists with a TFTP (for PXE) and HTTP (for iPXE) services"},{"line_number":26,"context_line":"    that provide the image(s) to the nodes. The conductor manages them by"},{"line_number":27,"context_line":"    writing files to their root directories."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_c262500a","line":26,"range":{"start_line":26,"start_character":21,"end_line":26,"end_character":29},"in_reply_to":"df3967d1_448da779","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ba282c6a7c2a4fb4f7639636c75596e9f8032049","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"},{"line_number":30,"context_line":"    being deployed or cleaned. See Networking_ for details."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* The provisioning ramdisk which runs the ``ironic-python-agent`` service"},{"line_number":33,"context_line":"  on start up."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  .. warning::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_936d1234","line":32,"updated":"2017-08-02 10:33:41.000000000","message":"Might be worth pointing out that this actually depends on the driver being used.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"},{"line_number":30,"context_line":"    being deployed or cleaned. See Networking_ for details."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* The provisioning ramdisk which runs the ``ironic-python-agent`` service"},{"line_number":33,"context_line":"  on start up."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  .. warning::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_6253a43a","line":32,"in_reply_to":"df3967d1_565af84e","updated":"2017-08-04 14:38:16.000000000","message":"Yep, let\u0027s not do it, at least not before we take the ansible driver in-tree","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"},{"line_number":30,"context_line":"    being deployed or cleaned. See Networking_ for details."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* The provisioning ramdisk which runs the ``ironic-python-agent`` service"},{"line_number":33,"context_line":"  on start up."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  .. warning::"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_565af84e","line":32,"in_reply_to":"df3967d1_936d1234","updated":"2017-08-02 11:19:02.000000000","message":"Its the only in-tree and offically supported implementation, I don\u0027t think we can talk about non-agent based deploy methods in our offical docs, what do you think?","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ba282c6a7c2a4fb4f7639636c75596e9f8032049","unresolved":false,"context_lines":[{"line_number":74,"context_line":"~~~~~~~~~~~~~~~"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The boot interface of a node manages booting of both the deploy ramdisk and"},{"line_number":77,"context_line":"the user instances on the bare metal node. The deploy interface orchestrates"},{"line_number":78,"context_line":"the deployment and defines how the image gets transferred to the target disk."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The ``pxe`` boot interface uses PXE_ or iPXE_ to deliver the target"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_93dbd2eb","line":77,"range":{"start_line":77,"start_character":9,"end_line":77,"end_character":18},"updated":"2017-08-02 10:33:41.000000000","message":"image?","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":74,"context_line":"~~~~~~~~~~~~~~~"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The boot interface of a node manages booting of both the deploy ramdisk and"},{"line_number":77,"context_line":"the user instances on the bare metal node. The deploy interface orchestrates"},{"line_number":78,"context_line":"the deployment and defines how the image gets transferred to the target disk."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The ``pxe`` boot interface uses PXE_ or iPXE_ to deliver the target"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_a222acb7","line":77,"range":{"start_line":77,"start_character":9,"end_line":77,"end_character":18},"in_reply_to":"df3967d1_93dbd2eb","updated":"2017-08-04 14:38:16.000000000","message":"Well, it puts the instance. With local boot in use, it does not manage the instance image at all.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":80,"context_line":"The ``pxe`` boot interface uses PXE_ or iPXE_ to deliver the target"},{"line_number":81,"context_line":"kernel/ramdisk pair. PXE uses relatively slow and unreliable TFTP protocol"},{"line_number":82,"context_line":"for transfer, while iPXE uses HTTP. The downside of iPXE is that it\u0027s less"},{"line_number":83,"context_line":"common, and usually requires bootstraping using PXE first. It is recommended"},{"line_number":84,"context_line":"to use iPXE, when it is supported by target hardware by setting. See"},{"line_number":85,"context_line":":doc:`../configure-pxe` for details."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_f4c0db7e","line":83,"range":{"start_line":83,"start_character":29,"end_line":83,"end_character":41},"updated":"2017-08-01 20:23:38.000000000","message":"s/bootstraping/bootstrapping/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":80,"context_line":"The ``pxe`` boot interface uses PXE_ or iPXE_ to deliver the target"},{"line_number":81,"context_line":"kernel/ramdisk pair. PXE uses relatively slow and unreliable TFTP protocol"},{"line_number":82,"context_line":"for transfer, while iPXE uses HTTP. The downside of iPXE is that it\u0027s less"},{"line_number":83,"context_line":"common, and usually requires bootstraping using PXE first. It is recommended"},{"line_number":84,"context_line":"to use iPXE, when it is supported by target hardware by setting. See"},{"line_number":85,"context_line":":doc:`../configure-pxe` for details."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_62284496","line":83,"range":{"start_line":83,"start_character":29,"end_line":83,"end_character":41},"in_reply_to":"df3967d1_f4c0db7e","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":81,"context_line":"kernel/ramdisk pair. PXE uses relatively slow and unreliable TFTP protocol"},{"line_number":82,"context_line":"for transfer, while iPXE uses HTTP. The downside of iPXE is that it\u0027s less"},{"line_number":83,"context_line":"common, and usually requires bootstraping using PXE first. It is recommended"},{"line_number":84,"context_line":"to use iPXE, when it is supported by target hardware by setting. See"},{"line_number":85,"context_line":":doc:`../configure-pxe` for details."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Alternatively, several vendors provide *virtual media* implementations of the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_d992b0f6","line":84,"range":{"start_line":84,"start_character":53,"end_line":84,"end_character":63},"updated":"2017-08-01 20:23:38.000000000","message":"unclear what should be set, maybe \"by configuring as defined in: doc:`../configure-pxe`\" ?","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":81,"context_line":"kernel/ramdisk pair. PXE uses relatively slow and unreliable TFTP protocol"},{"line_number":82,"context_line":"for transfer, while iPXE uses HTTP. The downside of iPXE is that it\u0027s less"},{"line_number":83,"context_line":"common, and usually requires bootstraping using PXE first. It is recommended"},{"line_number":84,"context_line":"to use iPXE, when it is supported by target hardware by setting. See"},{"line_number":85,"context_line":":doc:`../configure-pxe` for details."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Alternatively, several vendors provide *virtual media* implementations of the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_ad673de9","line":84,"range":{"start_line":84,"start_character":53,"end_line":84,"end_character":63},"in_reply_to":"df3967d1_d992b0f6","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":87,"context_line":"Alternatively, several vendors provide *virtual media* implementations of the"},{"line_number":88,"context_line":"boot interface. They work by pushing an ISO image to the node\u0027s BMC, and do"},{"line_number":89,"context_line":"not require either PXE or iPXE. If such boot implementation is available for"},{"line_number":90,"context_line":"the hardware, it is recommended using it for better scaleability. Check"},{"line_number":91,"context_line":":doc:`/admin/drivers` for details."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"There are two deploy methods in-tree, ``iscsi`` and ``direct``. See"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_d454b7cc","line":90,"range":{"start_line":90,"start_character":52,"end_line":90,"end_character":64},"updated":"2017-08-01 20:23:38.000000000","message":"s/scaleability/scalability/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ba282c6a7c2a4fb4f7639636c75596e9f8032049","unresolved":false,"context_lines":[{"line_number":87,"context_line":"Alternatively, several vendors provide *virtual media* implementations of the"},{"line_number":88,"context_line":"boot interface. They work by pushing an ISO image to the node\u0027s BMC, and do"},{"line_number":89,"context_line":"not require either PXE or iPXE. If such boot implementation is available for"},{"line_number":90,"context_line":"the hardware, it is recommended using it for better scaleability. Check"},{"line_number":91,"context_line":":doc:`/admin/drivers` for details."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"There are two deploy methods in-tree, ``iscsi`` and ``direct``. See"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_f3f33e72","line":90,"range":{"start_line":90,"start_character":52,"end_line":90,"end_character":64},"in_reply_to":"df3967d1_d454b7cc","updated":"2017-08-02 10:33:41.000000000","message":"and also security","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":87,"context_line":"Alternatively, several vendors provide *virtual media* implementations of the"},{"line_number":88,"context_line":"boot interface. They work by pushing an ISO image to the node\u0027s BMC, and do"},{"line_number":89,"context_line":"not require either PXE or iPXE. If such boot implementation is available for"},{"line_number":90,"context_line":"the hardware, it is recommended using it for better scaleability. Check"},{"line_number":91,"context_line":":doc:`/admin/drivers` for details."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"There are two deploy methods in-tree, ``iscsi`` and ``direct``. See"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_8de5993a","line":90,"range":{"start_line":90,"start_character":52,"end_line":90,"end_character":64},"in_reply_to":"df3967d1_f3f33e72","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"5dec0d95093aaf6792c7a5f8312ea730ad5b4da3","unresolved":false,"context_lines":[{"line_number":88,"context_line":"boot interface. They work by pushing an ISO image to the node\u0027s BMC, and do"},{"line_number":89,"context_line":"not require either PXE or iPXE. If such boot implementation is available for"},{"line_number":90,"context_line":"the hardware, it is recommended using it for better scaleability. Check"},{"line_number":91,"context_line":":doc:`/admin/drivers` for details."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"There are two deploy methods in-tree, ``iscsi`` and ``direct``. See"},{"line_number":94,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_0d408906","line":91,"updated":"2017-08-04 14:20:43.000000000","message":"It is unclear here which boot interface will be used. Both PXE and iPXE will be not used. So adding the name of boot interface would be helpful.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2979df5576a9beb7ab43bb0fe58aad6ddaf9d82d","unresolved":false,"context_lines":[{"line_number":88,"context_line":"boot interface. They work by pushing an ISO image to the node\u0027s BMC, and do"},{"line_number":89,"context_line":"not require either PXE or iPXE. If such boot implementation is available for"},{"line_number":90,"context_line":"the hardware, it is recommended using it for better scaleability. Check"},{"line_number":91,"context_line":":doc:`/admin/drivers` for details."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"There are two deploy methods in-tree, ``iscsi`` and ``direct``. See"},{"line_number":94,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_28be9bb3","line":91,"in_reply_to":"df3967d1_0d408906","updated":"2017-08-04 14:42:45.000000000","message":"It\u0027s vendor-specific, I cannot add it here","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"5dec0d95093aaf6792c7a5f8312ea730ad5b4da3","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"There are two deploy methods in-tree, ``iscsi`` and ``direct``. See"},{"line_number":94,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":95,"context_line":"``iscsi`` deploy method, most of deployment operations happen on the conductor."},{"line_number":96,"context_line":"Thus, if the Object Storage service (swift) or RadosGW is present in the cloud,"},{"line_number":97,"context_line":"it is recommended to use the ``direct`` deploy method for better scaleability"},{"line_number":98,"context_line":"and reliability."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_8dd91923","line":95,"range":{"start_line":95,"start_character":55,"end_line":95,"end_character":64},"updated":"2017-08-04 14:20:43.000000000","message":"s/happen on/done by/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"There are two deploy methods in-tree, ``iscsi`` and ``direct``. See"},{"line_number":94,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":95,"context_line":"``iscsi`` deploy method, most of deployment operations happen on the conductor."},{"line_number":96,"context_line":"Thus, if the Object Storage service (swift) or RadosGW is present in the cloud,"},{"line_number":97,"context_line":"it is recommended to use the ``direct`` deploy method for better scaleability"},{"line_number":98,"context_line":"and reliability."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_d40277b4","line":95,"range":{"start_line":95,"start_character":30,"end_line":95,"end_character":32},"updated":"2017-08-01 20:23:38.000000000","message":"s/of/of the/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"There are two deploy methods in-tree, ``iscsi`` and ``direct``. See"},{"line_number":94,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":95,"context_line":"``iscsi`` deploy method, most of deployment operations happen on the conductor."},{"line_number":96,"context_line":"Thus, if the Object Storage service (swift) or RadosGW is present in the cloud,"},{"line_number":97,"context_line":"it is recommended to use the ``direct`` deploy method for better scaleability"},{"line_number":98,"context_line":"and reliability."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_4dd57143","line":95,"range":{"start_line":95,"start_character":30,"end_line":95,"end_character":32},"in_reply_to":"df3967d1_d40277b4","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"There are two deploy methods in-tree, ``iscsi`` and ``direct``. See"},{"line_number":94,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":95,"context_line":"``iscsi`` deploy method, most of deployment operations happen on the conductor."},{"line_number":96,"context_line":"Thus, if the Object Storage service (swift) or RadosGW is present in the cloud,"},{"line_number":97,"context_line":"it is recommended to use the ``direct`` deploy method for better scaleability"},{"line_number":98,"context_line":"and reliability."},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_d6e708e4","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":8},"updated":"2017-08-02 11:19:02.000000000","message":"s/Thus, if/If/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":93,"context_line":"There are two deploy methods in-tree, ``iscsi`` and ``direct``. See"},{"line_number":94,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":95,"context_line":"``iscsi`` deploy method, most of deployment operations happen on the conductor."},{"line_number":96,"context_line":"Thus, if the Object Storage service (swift) or RadosGW is present in the cloud,"},{"line_number":97,"context_line":"it is recommended to use the ``direct`` deploy method for better scaleability"},{"line_number":98,"context_line":"and reliability."},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_cdc841a7","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":8},"in_reply_to":"df3967d1_d6e708e4","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":94,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":95,"context_line":"``iscsi`` deploy method, most of deployment operations happen on the conductor."},{"line_number":96,"context_line":"Thus, if the Object Storage service (swift) or RadosGW is present in the cloud,"},{"line_number":97,"context_line":"it is recommended to use the ``direct`` deploy method for better scaleability"},{"line_number":98,"context_line":"and reliability."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Networking"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_b9a6cc52","line":97,"range":{"start_line":97,"start_character":65,"end_line":97,"end_character":77},"updated":"2017-08-01 20:23:38.000000000","message":"s/scaleability/scalability/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":94,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":95,"context_line":"``iscsi`` deploy method, most of deployment operations happen on the conductor."},{"line_number":96,"context_line":"Thus, if the Object Storage service (swift) or RadosGW is present in the cloud,"},{"line_number":97,"context_line":"it is recommended to use the ``direct`` deploy method for better scaleability"},{"line_number":98,"context_line":"and reliability."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Networking"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_adc3bd88","line":97,"range":{"start_line":97,"start_character":65,"end_line":97,"end_character":77},"in_reply_to":"df3967d1_b9a6cc52","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ba282c6a7c2a4fb4f7639636c75596e9f8032049","unresolved":false,"context_lines":[{"line_number":95,"context_line":"``iscsi`` deploy method, most of deployment operations happen on the conductor."},{"line_number":96,"context_line":"Thus, if the Object Storage service (swift) or RadosGW is present in the cloud,"},{"line_number":97,"context_line":"it is recommended to use the ``direct`` deploy method for better scaleability"},{"line_number":98,"context_line":"and reliability."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Networking"},{"line_number":101,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_d3b83a77","line":98,"updated":"2017-08-02 10:33:41.000000000","message":"worth adding netboot/localboot considerations? Also netboot relation with network setup.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":95,"context_line":"``iscsi`` deploy method, most of deployment operations happen on the conductor."},{"line_number":96,"context_line":"Thus, if the Object Storage service (swift) or RadosGW is present in the cloud,"},{"line_number":97,"context_line":"it is recommended to use the ``direct`` deploy method for better scaleability"},{"line_number":98,"context_line":"and reliability."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Networking"},{"line_number":101,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_6db95513","line":98,"in_reply_to":"df3967d1_d3b83a77","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ba282c6a7c2a4fb4f7639636c75596e9f8032049","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Metal service. They are explained in depth in specific architecture"},{"line_number":105,"context_line":"documentation. However, several considerations are common for all of them:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* There has to be a *provisioning* network, which is used by nodes during"},{"line_number":108,"context_line":"  the deployment process. This network should not be accessible by end users,"},{"line_number":109,"context_line":"  and does not need routing to the internet."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_f3669e29","line":107,"range":{"start_line":107,"start_character":21,"end_line":107,"end_character":33},"updated":"2017-08-02 10:33:41.000000000","message":"this is not the thing for flat case right?","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Metal service. They are explained in depth in specific architecture"},{"line_number":105,"context_line":"documentation. However, several considerations are common for all of them:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* There has to be a *provisioning* network, which is used by nodes during"},{"line_number":108,"context_line":"  the deployment process. This network should not be accessible by end users,"},{"line_number":109,"context_line":"  and does not need routing to the internet."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_8d7599fc","line":107,"range":{"start_line":107,"start_character":21,"end_line":107,"end_character":33},"in_reply_to":"df3967d1_a2c98c59","updated":"2017-08-04 14:38:16.000000000","message":"I\u0027ll try to clarify","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Metal service. They are explained in depth in specific architecture"},{"line_number":105,"context_line":"documentation. However, several considerations are common for all of them:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* There has to be a *provisioning* network, which is used by nodes during"},{"line_number":108,"context_line":"  the deployment process. This network should not be accessible by end users,"},{"line_number":109,"context_line":"  and does not need routing to the internet."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_f609ec94","line":107,"range":{"start_line":107,"start_character":21,"end_line":107,"end_character":33},"in_reply_to":"df3967d1_f3669e29","updated":"2017-08-02 11:19:02.000000000","message":"it is, but the provisioning network is also the tenant network","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"a2a5a9abb335e32a1baeda14c13ab6876c9ad288","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Metal service. They are explained in depth in specific architecture"},{"line_number":105,"context_line":"documentation. However, several considerations are common for all of them:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* There has to be a *provisioning* network, which is used by nodes during"},{"line_number":108,"context_line":"  the deployment process. This network should not be accessible by end users,"},{"line_number":109,"context_line":"  and does not need routing to the internet."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_a2c98c59","line":107,"range":{"start_line":107,"start_character":21,"end_line":107,"end_character":33},"in_reply_to":"df3967d1_f609ec94","updated":"2017-08-04 13:50:36.000000000","message":"Sam, your comment contradicts the next sentence (..should not be accessible by end users..).","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":108,"context_line":"  the deployment process. This network should not be accessible by end users,"},{"line_number":109,"context_line":"  and does not need routing to the internet."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"  There has to be a *cleaning* network, which is used by nodes during"},{"line_number":112,"context_line":"  the cleaning process. In the majority of cases, the same network should"},{"line_number":113,"context_line":"  be used as cleaning and provisioning for simplicity."},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_593b60ea","line":111,"updated":"2017-08-01 20:23:38.000000000","message":"should add \u0027*\u0027 here","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":108,"context_line":"  the deployment process. This network should not be accessible by end users,"},{"line_number":109,"context_line":"  and does not need routing to the internet."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"  There has to be a *cleaning* network, which is used by nodes during"},{"line_number":112,"context_line":"  the cleaning process. In the majority of cases, the same network should"},{"line_number":113,"context_line":"  be used as cleaning and provisioning for simplicity."},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_2d68ed1a","line":111,"in_reply_to":"df3967d1_593b60ea","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ba282c6a7c2a4fb4f7639636c75596e9f8032049","unresolved":false,"context_lines":[{"line_number":109,"context_line":"  and does not need routing to the internet."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"  There has to be a *cleaning* network, which is used by nodes during"},{"line_number":112,"context_line":"  the cleaning process. In the majority of cases, the same network should"},{"line_number":113,"context_line":"  be used as cleaning and provisioning for simplicity."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  Unless notes otherwise, everything in these sections apply to both networks."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_13648221","line":112,"range":{"start_line":112,"start_character":67,"end_line":112,"end_character":73},"updated":"2017-08-02 10:33:41.000000000","message":"could","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":109,"context_line":"  and does not need routing to the internet."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"  There has to be a *cleaning* network, which is used by nodes during"},{"line_number":112,"context_line":"  the cleaning process. In the majority of cases, the same network should"},{"line_number":113,"context_line":"  be used as cleaning and provisioning for simplicity."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  Unless notes otherwise, everything in these sections apply to both networks."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_6d4955b5","line":112,"range":{"start_line":112,"start_character":67,"end_line":112,"end_character":73},"in_reply_to":"df3967d1_13648221","updated":"2017-08-04 14:38:16.000000000","message":"well, I meant should. we can argue about that, but I don\u0027t believe there are a lot of cases when using different network is justified :)","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":112,"context_line":"  the cleaning process. In the majority of cases, the same network should"},{"line_number":113,"context_line":"  be used as cleaning and provisioning for simplicity."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  Unless notes otherwise, everything in these sections apply to both networks."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* The Bare Metal API has to be accessible by nodes on the provisioning network."},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_d959905a","line":115,"range":{"start_line":115,"start_character":9,"end_line":115,"end_character":14},"updated":"2017-08-01 20:23:38.000000000","message":"s/notes/noted/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":112,"context_line":"  the cleaning process. In the majority of cases, the same network should"},{"line_number":113,"context_line":"  be used as cleaning and provisioning for simplicity."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  Unless notes otherwise, everything in these sections apply to both networks."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* The Bare Metal API has to be accessible by nodes on the provisioning network."},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_8d4eb9be","line":115,"range":{"start_line":115,"start_character":9,"end_line":115,"end_character":14},"in_reply_to":"df3967d1_d959905a","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"77242df47fa95498d9035ea1501c0e93211a3e1b","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        GET /v1/lookup"},{"line_number":123,"context_line":"        POST /v1/heartbeat/[a-z0-9\\-]+"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_6422eb02","line":125,"updated":"2017-08-02 08:02:49.000000000","message":"How can we can achieve it, by proxy? Enumerating some possibilities here would be helpful.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        GET /v1/lookup"},{"line_number":123,"context_line":"        POST /v1/heartbeat/[a-z0-9\\-]+"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_0de9a97e","line":125,"in_reply_to":"df3967d1_227fdce0","updated":"2017-08-04 14:38:16.000000000","message":"We need to write a separate documentation on that, I think, and link it here. Volunteers welcome ;)","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        GET /v1/lookup"},{"line_number":123,"context_line":"        POST /v1/heartbeat/[a-z0-9\\-]+"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_763a9c34","line":125,"in_reply_to":"df3967d1_6422eb02","updated":"2017-08-02 11:19:02.000000000","message":"I believe policy and/or URL management in apache can be used I think.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"a2a5a9abb335e32a1baeda14c13ab6876c9ad288","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        GET /v1/lookup"},{"line_number":123,"context_line":"        POST /v1/heartbeat/[a-z0-9\\-]+"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_227fdce0","line":125,"in_reply_to":"df3967d1_763a9c34","updated":"2017-08-04 13:50:36.000000000","message":"A way to deploy ironic-api for it is to use two pools of them:\n\n- \u0027public\u0027 one serving API requests \"from outside\" (users, other services) and has the ramdisk-specific endpoints blocked in policy.json. It must not have connection to provisioning network.\n- \u0027deploy\u0027 one, where vice versa, only ramdisk-specific endpoints are enabled with the rest disabled, which will serve requests from bm nodes, and must be connnected to the provisioning network *only*.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_d907501c","line":127,"range":{"start_line":127,"start_character":60,"end_line":127,"end_character":63},"updated":"2017-08-01 20:23:38.000000000","message":"s/has/have/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_edeb0575","line":127,"range":{"start_line":127,"start_character":60,"end_line":127,"end_character":63},"in_reply_to":"df3967d1_d907501c","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"77242df47fa95498d9035ea1501c0e93211a3e1b","unresolved":false,"context_lines":[{"line_number":125,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"},{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_e4ea5b73","line":128,"range":{"start_line":128,"start_character":57,"end_line":128,"end_character":65},"updated":"2017-08-02 08:02:49.000000000","message":"this is not accurate, thinking about VLAN network, both network are tagged, so untagged shouldn\u0027t be a constraint here, we just make sure both ends are in the same physical/logical network.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":125,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"},{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_6d8cb5d6","line":128,"range":{"start_line":128,"start_character":57,"end_line":128,"end_character":65},"in_reply_to":"df3967d1_5650b85d","updated":"2017-08-04 14:38:16.000000000","message":"I hoped that somebody will correct me, thanks :)","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"},{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_5650b85d","line":128,"range":{"start_line":128,"start_character":57,"end_line":128,"end_character":65},"in_reply_to":"df3967d1_e4ea5b73","updated":"2017-08-02 11:19:02.000000000","message":"This sentence reads like the conductor needs an untagged interface. I think this is meant to be referring to the fact that the baremetal nodes have to be on a untagged (access mode) interface because PXE firmware doesn\u0027t understand and so can\u0027t untag VLANs server side. The conductor can see a vlan interface like eth0.56 if it wants too.\n\nI think this sentence should be something more like: \n\n\"The baremetal nodes should have untagged (access mode) connectivity to the provisioning/cleaning networks to allow PXE firmware which doesn\u0027t understand VLANs to communicate with the service\u0027s required for provisioning.\"","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"},{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"},{"line_number":132,"context_line":"  nodes."},{"line_number":133,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_54b8c774","line":130,"range":{"start_line":130,"start_character":67,"end_line":130,"end_character":69},"updated":"2017-08-01 20:23:38.000000000","message":"s/It/The conductor/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"},{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"},{"line_number":132,"context_line":"  nodes."},{"line_number":133,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_340c233a","line":130,"range":{"start_line":130,"start_character":15,"end_line":130,"end_character":18},"updated":"2017-08-01 20:23:38.000000000","message":"s/has/have/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"},{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"},{"line_number":132,"context_line":"  nodes."},{"line_number":133,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_5681d88e","line":130,"range":{"start_line":130,"start_character":67,"end_line":130,"end_character":69},"in_reply_to":"df3967d1_54b8c774","updated":"2017-08-02 11:19:02.000000000","message":"s/uses internal/uses an internal/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":127,"context_line":"* The TFTP and/or HTTP services on the Bare Metal conductor has to be"},{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"},{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"},{"line_number":132,"context_line":"  nodes."},{"line_number":133,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_4d66912c","line":130,"range":{"start_line":130,"start_character":67,"end_line":130,"end_character":69},"in_reply_to":"df3967d1_5681d88e","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ba282c6a7c2a4fb4f7639636c75596e9f8032049","unresolved":false,"context_lines":[{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"},{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"},{"line_number":132,"context_line":"  nodes."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"HA and Scaleability"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_932512c5","line":131,"range":{"start_line":131,"start_character":30,"end_line":131,"end_character":49},"updated":"2017-08-02 10:33:41.000000000","message":"ditto, this is not the only way. maybe something like \u0027it needs to connect to the node to conduct the necessary actions\u0027?","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":128,"context_line":"  accessible by nodes on the provisioning network via an untagged interface."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"* Booted nodes has to be accessible from the Bare Metal conductor. It uses"},{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"},{"line_number":132,"context_line":"  nodes."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"HA and Scaleability"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_2d690df8","line":131,"range":{"start_line":131,"start_character":30,"end_line":131,"end_character":49},"in_reply_to":"df3967d1_932512c5","updated":"2017-08-04 14:38:16.000000000","message":"ditto","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"},{"line_number":132,"context_line":"  nodes."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"HA and Scaleability"},{"line_number":135,"context_line":"-------------------"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"ironic-api"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_b44373af","line":134,"range":{"start_line":134,"start_character":7,"end_line":134,"end_character":19},"updated":"2017-08-01 20:23:38.000000000","message":"s/scaleabllity/scalability/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":131,"context_line":"  internal API, provided by **ironic-python-agent** to conduct actions on"},{"line_number":132,"context_line":"  nodes."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"HA and Scaleability"},{"line_number":135,"context_line":"-------------------"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"ironic-api"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_0d6c0906","line":134,"range":{"start_line":134,"start_character":7,"end_line":134,"end_character":19},"in_reply_to":"df3967d1_b44373af","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":141,"context_line":"horizontally. It is recommended to deploy it as a WSGI application behind e.g."},{"line_number":142,"context_line":"Apache or another WSGI container."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Note, that this service accesses database for reading entities (e.g. in"},{"line_number":145,"context_line":"response to ``GET /v1/nodes`` request) and sometimes for writing (e.g."},{"line_number":146,"context_line":"creating chassis; creating other entities before the Pike release)."},{"line_number":147,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_14cc7f68","line":144,"updated":"2017-08-01 20:23:38.000000000","message":"s/database/a database/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":141,"context_line":"horizontally. It is recommended to deploy it as a WSGI application behind e.g."},{"line_number":142,"context_line":"Apache or another WSGI container."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Note, that this service accesses database for reading entities (e.g. in"},{"line_number":145,"context_line":"response to ``GET /v1/nodes`` request) and sometimes for writing (e.g."},{"line_number":146,"context_line":"creating chassis; creating other entities before the Pike release)."},{"line_number":147,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_b617e451","line":144,"in_reply_to":"df3967d1_14cc7f68","updated":"2017-08-02 11:19:02.000000000","message":"maybe \"the ironic database\" instead because its not a random DB ;)","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":21909,"name":"Bob Fournier","email":"bfournie@redhat.com","username":"bfournie"},"change_message_id":"43771202f9e667558de2048a5f5c5d5582079760","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Note, that this service accesses database for reading entities (e.g. in"},{"line_number":145,"context_line":"response to ``GET /v1/nodes`` request) and sometimes for writing (e.g."},{"line_number":146,"context_line":"creating chassis; creating other entities before the Pike release)."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"ironic-conductor"},{"line_number":149,"context_line":"~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_b4a7f3a7","line":146,"range":{"start_line":146,"start_character":18,"end_line":146,"end_character":65},"updated":"2017-08-01 20:23:38.000000000","message":"Could you provide more details on what other entities could be created and what has changed in Pike?","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Note, that this service accesses database for reading entities (e.g. in"},{"line_number":145,"context_line":"response to ``GET /v1/nodes`` request) and sometimes for writing (e.g."},{"line_number":146,"context_line":"creating chassis; creating other entities before the Pike release)."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"ironic-conductor"},{"line_number":149,"context_line":"~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_4d4fb192","line":146,"range":{"start_line":146,"start_character":18,"end_line":146,"end_character":65},"in_reply_to":"df3967d1_39464551","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"77242df47fa95498d9035ea1501c0e93211a3e1b","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Note, that this service accesses database for reading entities (e.g. in"},{"line_number":145,"context_line":"response to ``GET /v1/nodes`` request) and sometimes for writing (e.g."},{"line_number":146,"context_line":"creating chassis; creating other entities before the Pike release)."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"ironic-conductor"},{"line_number":149,"context_line":"~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_e757fd01","line":146,"range":{"start_line":146,"start_character":18,"end_line":146,"end_character":65},"in_reply_to":"df3967d1_b4a7f3a7","updated":"2017-08-02 08:02:49.000000000","message":"Same question here, the creation of port object is moved to conductor, but portgroup, and later added volume_connector, volume_target are all created in api.\n(Ah, and the fault object... :P)\nIs there a sigh of moving them to conductor before Pike release?","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Note, that this service accesses database for reading entities (e.g. in"},{"line_number":145,"context_line":"response to ``GET /v1/nodes`` request) and sometimes for writing (e.g."},{"line_number":146,"context_line":"creating chassis; creating other entities before the Pike release)."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"ironic-conductor"},{"line_number":149,"context_line":"~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_39464551","line":146,"range":{"start_line":146,"start_character":18,"end_line":146,"end_character":65},"in_reply_to":"df3967d1_e757fd01","updated":"2017-08-02 11:19:02.000000000","message":"TBH maybe just remove this from this doc, I think it opens up to many questions and can be covered in dev docs with more in-depth info about the ironic services architecture.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"77242df47fa95498d9035ea1501c0e93211a3e1b","unresolved":false,"context_lines":[{"line_number":153,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":154,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":155,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":156,"context_line":"for an HA deployment."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"},{"line_number":159,"context_line":"to keep all conductors separate from other services in the cloud. The minimum"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_478da979","line":156,"range":{"start_line":156,"start_character":4,"end_line":156,"end_character":6},"updated":"2017-08-02 08:02:49.000000000","message":"nit: s/an/a/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":153,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":154,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":155,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":156,"context_line":"for an HA deployment."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"},{"line_number":159,"context_line":"to keep all conductors separate from other services in the cloud. The minimum"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_8d58f955","line":156,"range":{"start_line":156,"start_character":4,"end_line":156,"end_character":6},"in_reply_to":"df3967d1_478da979","updated":"2017-08-04 14:38:16.000000000","message":"I think it\u0027s \"an\" because \"H\" is pronounced starting with a vowel","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ba282c6a7c2a4fb4f7639636c75596e9f8032049","unresolved":false,"context_lines":[{"line_number":160,"context_line":"required number of conductors in a deployment depends on several factors:"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"* the performance of the hardware where the conductors will be running,"},{"line_number":163,"context_line":"* the speed and reliability of the management controller (BMC) of the"},{"line_number":164,"context_line":"  bare metal nodes,"},{"line_number":165,"context_line":"* the bare metal driver used for nodes (see `Hardware and drivers`_ above),"},{"line_number":166,"context_line":"* the network performance,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_d609482c","line":163,"range":{"start_line":163,"start_character":16,"end_line":163,"end_character":27},"updated":"2017-08-02 10:33:41.000000000","message":"if the controller is unreliable do we need more conductors or less? :D\n\nI think this should be stated separately","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":160,"context_line":"required number of conductors in a deployment depends on several factors:"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"* the performance of the hardware where the conductors will be running,"},{"line_number":163,"context_line":"* the speed and reliability of the management controller (BMC) of the"},{"line_number":164,"context_line":"  bare metal nodes,"},{"line_number":165,"context_line":"* the bare metal driver used for nodes (see `Hardware and drivers`_ above),"},{"line_number":166,"context_line":"* the network performance,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_6d015506","line":163,"range":{"start_line":163,"start_character":16,"end_line":163,"end_character":27},"in_reply_to":"df3967d1_590349b9","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":160,"context_line":"required number of conductors in a deployment depends on several factors:"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"* the performance of the hardware where the conductors will be running,"},{"line_number":163,"context_line":"* the speed and reliability of the management controller (BMC) of the"},{"line_number":164,"context_line":"  bare metal nodes,"},{"line_number":165,"context_line":"* the bare metal driver used for nodes (see `Hardware and drivers`_ above),"},{"line_number":166,"context_line":"* the network performance,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_590349b9","line":163,"range":{"start_line":163,"start_character":16,"end_line":163,"end_character":27},"in_reply_to":"df3967d1_d609482c","updated":"2017-08-02 11:19:02.000000000","message":"I think the implication is that you should have more conductors if your BMCs are unreliable because there will be less nodes per conductor therefore so a bad node will only affect the lower number of nodes on its conductor. Unfortunately the reliability of BMCs can lead to some unpredictable behaviour sometimes :/","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"77242df47fa95498d9035ea1501c0e93211a3e1b","unresolved":false,"context_lines":[{"line_number":167,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":168,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"},{"line_number":169,"context_line":"  service)."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"We recommend a target of **100** bare metal nodes per conductor for maximum"},{"line_number":172,"context_line":"reliability and performance. There is some tolerance for a larger number per"},{"line_number":173,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_a7d1f5fd","line":170,"updated":"2017-08-02 08:02:49.000000000","message":"when using pxe_ipmitool, qcow2 image downloaded to conductor will be converted to raw by default, this behavior is controlled by the option ``force_raw_images``.\nit\u0027s time consuming for sparse image with big virtual size, so i think we can note here like `some options may have performance impact` for example?\n\nwrt the force_raw_images, is it set to true for some reason i don\u0027t know? if no, i hope we can make some change.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"685864a62b7c398fab2585a42f2bb45b261a1de0","unresolved":false,"context_lines":[{"line_number":167,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":168,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"},{"line_number":169,"context_line":"  service)."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"We recommend a target of **100** bare metal nodes per conductor for maximum"},{"line_number":172,"context_line":"reliability and performance. There is some tolerance for a larger number per"},{"line_number":173,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_7870f008","line":170,"in_reply_to":"df3967d1_08275766","updated":"2017-08-04 16:42:25.000000000","message":"Not always :)\nnon raw image will be directly writen by using qemu-img:\nhttps://github.com/openstack/ironic-lib/blob/master/ironic_lib/disk_utils.py#L307-L318\nI have also verified this several month ago, a little enhancement worth to do i think.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":167,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":168,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"},{"line_number":169,"context_line":"  service)."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"We recommend a target of **100** bare metal nodes per conductor for maximum"},{"line_number":172,"context_line":"reliability and performance. There is some tolerance for a larger number per"},{"line_number":173,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_d97e196a","line":170,"in_reply_to":"df3967d1_36189473","updated":"2017-08-02 11:19:02.000000000","message":"I guess disk resources on the conductor node should be listed here too, because images can take up a lot of space and even more when they converted to raw.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ba282c6a7c2a4fb4f7639636c75596e9f8032049","unresolved":false,"context_lines":[{"line_number":167,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":168,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"},{"line_number":169,"context_line":"  service)."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"We recommend a target of **100** bare metal nodes per conductor for maximum"},{"line_number":172,"context_line":"reliability and performance. There is some tolerance for a larger number per"},{"line_number":173,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_36189473","line":170,"in_reply_to":"df3967d1_a7d1f5fd","updated":"2017-08-02 10:33:41.000000000","message":"++","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":167,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":168,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"},{"line_number":169,"context_line":"  service)."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"We recommend a target of **100** bare metal nodes per conductor for maximum"},{"line_number":172,"context_line":"reliability and performance. There is some tolerance for a larger number per"},{"line_number":173,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_08275766","line":170,"in_reply_to":"df3967d1_d97e196a","updated":"2017-08-04 14:38:16.000000000","message":"Done. Note that image conversion happens always, as we cannot dd a non-raw image, unless I\u0027m confusing something.","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"5dec0d95093aaf6792c7a5f8312ea730ad5b4da3","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":".. [1] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118033.html"},{"line_number":177,"context_line":".. [2] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118327.html"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"Other services"},{"line_number":180,"context_line":"~~~~~~~~~~~~~~"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_6df7155b","line":178,"updated":"2017-08-04 14:20:43.000000000","message":"Should we also add some detail about the console process which consumes some resources on the conductor node?","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2979df5576a9beb7ab43bb0fe58aad6ddaf9d82d","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":".. [1] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118033.html"},{"line_number":177,"context_line":".. [2] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118327.html"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"Other services"},{"line_number":180,"context_line":"~~~~~~~~~~~~~~"},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_a8ce0b57","line":178,"in_reply_to":"df3967d1_6df7155b","updated":"2017-08-04 14:42:45.000000000","message":"Could be nice, but I don\u0027t have even a rough idea how much it consumes. A TCP proxy like socat may be not too heavy.. Any hints are welcome","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":21,"context_line":"  * The conductor manages a certain proportion of nodes, distributed to it"},{"line_number":22,"context_line":"    via a hash ring. This includes constantly polling these nodes for their"},{"line_number":23,"context_line":"    current power state and hardware sensor data (if enabled and supported"},{"line_number":24,"context_line":"    by hardware, see :ref:`ipmi-sensor-data` for an example)."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"  * The conductor co-exists with TFTP (for PXE) and/or HTTP (for iPXE) services"},{"line_number":27,"context_line":"    that provide the kernel and ramdisk to boot to the nodes. The conductor"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_93913cf4","line":24,"updated":"2017-08-04 16:57:19.000000000","message":"Perhaps call out explicitly that access to out-of-band management controllers is necessary?","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":21,"context_line":"  * The conductor manages a certain proportion of nodes, distributed to it"},{"line_number":22,"context_line":"    via a hash ring. This includes constantly polling these nodes for their"},{"line_number":23,"context_line":"    current power state and hardware sensor data (if enabled and supported"},{"line_number":24,"context_line":"    by hardware, see :ref:`ipmi-sensor-data` for an example)."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"  * The conductor co-exists with TFTP (for PXE) and/or HTTP (for iPXE) services"},{"line_number":27,"context_line":"    that provide the kernel and ramdisk to boot to the nodes. The conductor"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_61d598b9","line":24,"in_reply_to":"df3967d1_93913cf4","updated":"2017-08-08 14:25:38.000000000","message":"Done","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    manages them by writing files to their root directories."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  * If serial console is used, the conductor may also launch console processes"},{"line_number":31,"context_line":"    locally. A user will need to be able to reach them."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"},{"line_number":34,"context_line":"    being deployed or cleaned. See Networking_ for details."}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_135b0c87","line":31,"updated":"2017-08-04 16:57:19.000000000","message":"Not strictly true if using nova-serialproxy - in that case the user just needs to be able to access the proxy.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    manages them by writing files to their root directories."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  * If serial console is used, the conductor may also launch console processes"},{"line_number":31,"context_line":"    locally. A user will need to be able to reach them."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"},{"line_number":34,"context_line":"    being deployed or cleaned. See Networking_ for details."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_21ae702e","line":31,"in_reply_to":"df3967d1_135b0c87","updated":"2017-08-08 14:25:38.000000000","message":"Oh, good point","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    locally. A user will need to be able to reach them."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"},{"line_number":34,"context_line":"    being deployed or cleaned. See Networking_ for details."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* The provisioning ramdisk which runs the ``ironic-python-agent`` service"},{"line_number":37,"context_line":"  on start up."}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_3352903c","line":34,"updated":"2017-08-04 16:57:19.000000000","message":"s/Networking_/:ref:`Networking`/?","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    locally. A user will need to be able to reach them."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"},{"line_number":34,"context_line":"    being deployed or cleaned. See Networking_ for details."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* The provisioning ramdisk which runs the ``ironic-python-agent`` service"},{"line_number":37,"context_line":"  on start up."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_210af025","line":34,"in_reply_to":"df3967d1_3352903c","updated":"2017-08-08 14:25:38.000000000","message":"Nope, it\u0027s a link to the title below :)","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":55,"context_line":"driver has to support is as follows:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"#. getting and setting the power state of the machine,"},{"line_number":58,"context_line":"#. getting and setting the current boot device,"},{"line_number":59,"context_line":"#. booting an image provided by the Bare Metal service (in the simplest case,"},{"line_number":60,"context_line":"   support booting using PXE_ and/or iPXE_)."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_13130c68","line":58,"updated":"2017-08-04 16:57:19.000000000","message":"nit: no commas required","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":55,"context_line":"driver has to support is as follows:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"#. getting and setting the power state of the machine,"},{"line_number":58,"context_line":"#. getting and setting the current boot device,"},{"line_number":59,"context_line":"#. booting an image provided by the Bare Metal service (in the simplest case,"},{"line_number":60,"context_line":"   support booting using PXE_ and/or iPXE_)."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_4412a25a","line":58,"in_reply_to":"df3967d1_13130c68","updated":"2017-08-08 14:25:38.000000000","message":"this is what always confuses me in English :)","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Boot method"},{"line_number":79,"context_line":"~~~~~~~~~~~"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The boot interface of a node manages booting of both the deploy ramdisk and"},{"line_number":82,"context_line":"the user instances on the bare metal node. The deploy interface orchestrates"},{"line_number":83,"context_line":"the deployment and defines how the image gets transferred to the target disk."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_8e758ffc","line":81,"updated":"2017-08-04 16:57:19.000000000","message":"What is the expected level of expertise of the reader? I didn\u0027t initially pick up on this being the ironic node\u0027s boot interface. How about introducing drivers and interfaces with a short sentence here or in Hardware and drivers? Perhaps even list all the interfaces just to introduce them?","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Boot method"},{"line_number":79,"context_line":"~~~~~~~~~~~"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The boot interface of a node manages booting of both the deploy ramdisk and"},{"line_number":82,"context_line":"the user instances on the bare metal node. The deploy interface orchestrates"},{"line_number":83,"context_line":"the deployment and defines how the image gets transferred to the target disk."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_e48d167c","line":81,"in_reply_to":"bf3e73b7_62246dc7","updated":"2017-08-08 14:25:38.000000000","message":"Done","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Boot method"},{"line_number":79,"context_line":"~~~~~~~~~~~"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The boot interface of a node manages booting of both the deploy ramdisk and"},{"line_number":82,"context_line":"the user instances on the bare metal node. The deploy interface orchestrates"},{"line_number":83,"context_line":"the deployment and defines how the image gets transferred to the target disk."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_62246dc7","line":81,"in_reply_to":"df3967d1_8e758ffc","updated":"2017-08-07 10:40:05.000000000","message":"I think the problem is just with the titles of these sections, these sections are meant to be introducing the interfaces just like you suggest (these are all subsections of the Hardware and drivers section), but the titles aren\u0027t labelled as such, changing: Boot method -\u003e \"Boot Interface\", and \"Power and Management\" to \"Power and Management Interfaces\"\n\nalso the addition of a\n\n .. contents::\n   :local:\n\nin the Hardware and Drivers top level section will create a list of the different interface types based on the titles of the subsections.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":93,"context_line":"boot interface. They work by pushing an ISO image to the node\u0027s `management"},{"line_number":94,"context_line":"controller`_, and do not require either PXE or iPXE. If such boot"},{"line_number":95,"context_line":"implementation is available for the hardware, it is recommended using it"},{"line_number":96,"context_line":"for better scalability and security.  Check your driver documentation at"},{"line_number":97,"context_line":":doc:`/admin/drivers` for details."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Deploy method"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_45a1c5f7","line":96,"updated":"2017-08-04 16:57:19.000000000","message":"Might there be bandwidth issues here in pushing an image to the BMC\u0027s potentially slow interface, and also limited by the potentially slow BMC?","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":93,"context_line":"boot interface. They work by pushing an ISO image to the node\u0027s `management"},{"line_number":94,"context_line":"controller`_, and do not require either PXE or iPXE. If such boot"},{"line_number":95,"context_line":"implementation is available for the hardware, it is recommended using it"},{"line_number":96,"context_line":"for better scalability and security.  Check your driver documentation at"},{"line_number":97,"context_line":":doc:`/admin/drivers` for details."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Deploy method"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_c42d7247","line":96,"in_reply_to":"bf3e73b7_3d3d66bb","updated":"2017-08-08 14:25:38.000000000","message":"What I\u0027ve put here is an assumption based on vendor\u0027s claims. I\u0027m not sure if we should mention bad/slow BMCs, as they can break nearly any aspect of a deployment.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":93,"context_line":"boot interface. They work by pushing an ISO image to the node\u0027s `management"},{"line_number":94,"context_line":"controller`_, and do not require either PXE or iPXE. If such boot"},{"line_number":95,"context_line":"implementation is available for the hardware, it is recommended using it"},{"line_number":96,"context_line":"for better scalability and security.  Check your driver documentation at"},{"line_number":97,"context_line":":doc:`/admin/drivers` for details."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Deploy method"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_3d3d66bb","line":96,"in_reply_to":"df3967d1_45a1c5f7","updated":"2017-08-07 10:40:05.000000000","message":"I think that\u0027ll depend on implementation and hardware, but generally using virtual media \u003d\u003d more efficient/reliable/faster to boot than pxe especially if TFTP is involved. I don\u0027t know if we want to mention all the different implementation caveats in this document, I think just an overview/introduction is good and more detail should be listed on the particular implementation page.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":110,"context_line":"---------------------"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"The Bare Metal service supports booting user instances either using a local"},{"line_number":113,"context_line":"bootloader (only GRUB2 is currently supported) or using the driver\u0027s boot"},{"line_number":114,"context_line":"interface (e.g. via PXE_ or iPXE_ protocol in case of the ``pxe`` interface)."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Network boot has a few limitations:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_45be65b4","line":113,"updated":"2017-08-04 16:57:19.000000000","message":"For a whole disk image is it possible to use any bootloader?","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":110,"context_line":"---------------------"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"The Bare Metal service supports booting user instances either using a local"},{"line_number":113,"context_line":"bootloader (only GRUB2 is currently supported) or using the driver\u0027s boot"},{"line_number":114,"context_line":"interface (e.g. via PXE_ or iPXE_ protocol in case of the ``pxe`` interface)."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Network boot has a few limitations:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_071c9c68","line":113,"in_reply_to":"bf3e73b7_5daeeae7","updated":"2017-08-08 14:25:38.000000000","message":"Done","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":110,"context_line":"---------------------"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"The Bare Metal service supports booting user instances either using a local"},{"line_number":113,"context_line":"bootloader (only GRUB2 is currently supported) or using the driver\u0027s boot"},{"line_number":114,"context_line":"interface (e.g. via PXE_ or iPXE_ protocol in case of the ``pxe`` interface)."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Network boot has a few limitations:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_5daeeae7","line":113,"in_reply_to":"df3967d1_45be65b4","updated":"2017-08-07 10:40:05.000000000","message":"Yes, we should probably clarify this, but we do support deploying windows whole disk images etc and this might throw people off.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":121,"context_line":"* It is currently only possible with GNU/Linux operating systems."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"* It is only possible when *partition images* are used, and is not possible"},{"line_number":124,"context_line":"  with *whole-disk images*."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Additional considerations are related to the ``pxe`` boot interface, and other"},{"line_number":127,"context_line":"boot interfaces based on it:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_4531c559","line":124,"updated":"2017-08-04 16:57:19.000000000","message":"It\u0027s also insecure, so doing it on a tenant network with untrusted neighbours might not end well.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":121,"context_line":"* It is currently only possible with GNU/Linux operating systems."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"* It is only possible when *partition images* are used, and is not possible"},{"line_number":124,"context_line":"  with *whole-disk images*."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Additional considerations are related to the ``pxe`` boot interface, and other"},{"line_number":127,"context_line":"boot interfaces based on it:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_04e49aab","line":124,"in_reply_to":"bf3e73b7_dde89a17","updated":"2017-08-08 14:25:38.000000000","message":"I relied on the note in https://docs.openstack.org/ironic/latest/install/advanced.html#local-boot-with-partition-images. I don\u0027t see any proofs of that, I guess it has to be removed..","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":121,"context_line":"* It is currently only possible with GNU/Linux operating systems."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"* It is only possible when *partition images* are used, and is not possible"},{"line_number":124,"context_line":"  with *whole-disk images*."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Additional considerations are related to the ``pxe`` boot interface, and other"},{"line_number":127,"context_line":"boot interfaces based on it:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_dde89a17","line":124,"in_reply_to":"df3967d1_4531c559","updated":"2017-08-07 10:40:05.000000000","message":"The last bullet point is also not true I think, I thought we support Network boot for whole disk image as just a chain load to the hard drive??","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":130,"context_line":"  managing it. Thus, nodes are able to reboot correctly, even if the Bare Metal"},{"line_number":131,"context_line":"  service is down."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* Network boot (and iPXE) must be used when booting nodes from remote volumes."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"The default boot option for the cloud can be changed via the Bare Metal service"},{"line_number":136,"context_line":"configuration file, for example:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_e5243960","line":133,"updated":"2017-08-04 16:57:19.000000000","message":"Not necessarily true for volumes mounted out of band via a network of storage card, is it?","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":130,"context_line":"  managing it. Thus, nodes are able to reboot correctly, even if the Bare Metal"},{"line_number":131,"context_line":"  service is down."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* Network boot (and iPXE) must be used when booting nodes from remote volumes."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"The default boot option for the cloud can be changed via the Bare Metal service"},{"line_number":136,"context_line":"configuration file, for example:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_47ae24e8","line":133,"in_reply_to":"bf3e73b7_bd3b969a","updated":"2017-08-08 14:25:38.000000000","message":"Note that we\u0027re talking about the PXE boot interface. These drivers will use a different boot interface, I suspect.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":130,"context_line":"  managing it. Thus, nodes are able to reboot correctly, even if the Bare Metal"},{"line_number":131,"context_line":"  service is down."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"* Network boot (and iPXE) must be used when booting nodes from remote volumes."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"The default boot option for the cloud can be changed via the Bare Metal service"},{"line_number":136,"context_line":"configuration file, for example:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_bd3b969a","line":133,"in_reply_to":"df3967d1_e5243960","updated":"2017-08-07 10:40:05.000000000","message":"I don\u0027t think we have any drivers that implement that yet, but theoretically yes it is possible to write a driver that implements things that way.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    default_boot_option \u003d local"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"This default can be overriden by setting the ``boot_option`` capability on a"},{"line_number":144,"context_line":"node. See :ref:`local-boot-partition-images` for details."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Networking"},{"line_number":147,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_5d738a81","line":144,"updated":"2017-08-07 10:40:05.000000000","message":"Should we mention that local boot is becoming the default? (and if I remember correctly net boot is being deprecated?)","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    default_boot_option \u003d local"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"This default can be overriden by setting the ``boot_option`` capability on a"},{"line_number":144,"context_line":"node. See :ref:`local-boot-partition-images` for details."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Networking"},{"line_number":147,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_c7833456","line":144,"in_reply_to":"bf3e73b7_5d738a81","updated":"2017-08-08 14:25:38.000000000","message":"Network boot is not deprecated, and will not be because of BFV","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"* The Bare Metal API has to be accessible by nodes on the provisioning network."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"  .. note::"},{"line_number":166,"context_line":"      Actually, only two endpoints need to be exposed there::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_98903497","line":163,"updated":"2017-08-04 16:57:19.000000000","message":"Worth clarifying that access to keystone is not required for these endpoints?","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"* The Bare Metal API has to be accessible by nodes on the provisioning network."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"  .. note::"},{"line_number":166,"context_line":"      Actually, only two endpoints need to be exposed there::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_87cbeca3","line":163,"in_reply_to":"bf3e73b7_bdbcb6bb","updated":"2017-08-08 14:25:38.000000000","message":"Done","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"* The Bare Metal API has to be accessible by nodes on the provisioning network."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"  .. note::"},{"line_number":166,"context_line":"      Actually, only two endpoints need to be exposed there::"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_bdbcb6bb","line":163,"in_reply_to":"df3967d1_98903497","updated":"2017-08-07 10:40:05.000000000","message":"I think the sentence should be flipped to make it easier to understand the direction of communication:\n\nThe baremetal nodes have to have access to the baremetal API while connected to the provisioning/cleaning network.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":173,"context_line":"* If the ``pxe`` boot interface (or any boot interface based on it) is used,"},{"line_number":174,"context_line":"  then the baremetal nodes should have untagged (access mode) connectivity"},{"line_number":175,"context_line":"  to the provisioning/cleaning networks. It allows PXE firmware, which does not"},{"line_number":176,"context_line":"  support VLANs, to communicate with the services required for provisioning."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_9876f43d","line":176,"updated":"2017-08-04 16:57:19.000000000","message":"A sufficiently smart neutron driver will arrange for this to be the case - the operator does not need to configure it.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":173,"context_line":"* If the ``pxe`` boot interface (or any boot interface based on it) is used,"},{"line_number":174,"context_line":"  then the baremetal nodes should have untagged (access mode) connectivity"},{"line_number":175,"context_line":"  to the provisioning/cleaning networks. It allows PXE firmware, which does not"},{"line_number":176,"context_line":"  support VLANs, to communicate with the services required for provisioning."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_2770c072","line":176,"in_reply_to":"bf3e73b7_dd2d3a47","updated":"2017-08-08 14:25:38.000000000","message":"Done","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":173,"context_line":"* If the ``pxe`` boot interface (or any boot interface based on it) is used,"},{"line_number":174,"context_line":"  then the baremetal nodes should have untagged (access mode) connectivity"},{"line_number":175,"context_line":"  to the provisioning/cleaning networks. It allows PXE firmware, which does not"},{"line_number":176,"context_line":"  support VLANs, to communicate with the services required for provisioning."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_dd2d3a47","line":176,"in_reply_to":"df3967d1_9876f43d","updated":"2017-08-07 10:40:05.000000000","message":"This is true if your using the neutron network interface so neutron has control of the switch, if your not using the neutron network interface and using flat network mode then the operator does have to configure the switch.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":175,"context_line":"  to the provisioning/cleaning networks. It allows PXE firmware, which does not"},{"line_number":176,"context_line":"  support VLANs, to communicate with the services required for provisioning."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"},{"line_number":180,"context_line":"  actions on nodes."},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_fd735e4c","line":178,"range":{"start_line":178,"start_character":2,"end_line":178,"end_character":67},"updated":"2017-08-07 10:40:05.000000000","message":"I this is more understandable if this sentence was flipped:\n\n\"The Baremetal Conductor needs to have access to the booted baremetal nodes during provisioning/cleaning. The conductor communicateds with an internal API ....\"","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":175,"context_line":"  to the provisioning/cleaning networks. It allows PXE firmware, which does not"},{"line_number":176,"context_line":"  support VLANs, to communicate with the services required for provisioning."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"},{"line_number":180,"context_line":"  actions on nodes."},{"line_number":181,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_a70950de","line":178,"range":{"start_line":178,"start_character":2,"end_line":178,"end_character":67},"in_reply_to":"bf3e73b7_fd735e4c","updated":"2017-08-08 14:25:38.000000000","message":"Done","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":176,"context_line":"  support VLANs, to communicate with the services required for provisioning."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"},{"line_number":180,"context_line":"  actions on nodes."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"HA and Scalability"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_b8c9b859","line":179,"updated":"2017-08-04 16:57:19.000000000","message":"The conductor an API?","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":176,"context_line":"  support VLANs, to communicate with the services required for provisioning."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"},{"line_number":180,"context_line":"  actions on nodes."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"HA and Scalability"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_c70454c9","line":179,"in_reply_to":"bf3e73b7_fd17deec","updated":"2017-08-08 14:25:38.000000000","message":"Done","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":176,"context_line":"  support VLANs, to communicate with the services required for provisioning."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"},{"line_number":180,"context_line":"  actions on nodes."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"HA and Scalability"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_fd17deec","line":179,"in_reply_to":"df3967d1_b8c9b859","updated":"2017-08-07 10:40:05.000000000","message":"\"The conductor communicates with an internal API...\"","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"},{"line_number":180,"context_line":"  actions on nodes."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"HA and Scalability"},{"line_number":183,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_18344449","line":180,"updated":"2017-08-04 16:57:19.000000000","message":"Also need access to TFTP and/or iPXE HTTP and/or iSCSI and/or Swift/RadosGW\n\nGenerally, deployment services.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"},{"line_number":180,"context_line":"  actions on nodes."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"HA and Scalability"},{"line_number":183,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_e7d638f2","line":180,"in_reply_to":"bf3e73b7_5d270a14","updated":"2017-08-08 14:25:38.000000000","message":"Done","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* Booted nodes have to be accessible from the Bare Metal conductor. The"},{"line_number":179,"context_line":"  conductor an internal API, provided by **ironic-python-agent**, to conduct"},{"line_number":180,"context_line":"  actions on nodes."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"HA and Scalability"},{"line_number":183,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_5d270a14","line":180,"in_reply_to":"df3967d1_18344449","updated":"2017-08-07 10:40:05.000000000","message":"This is kind of hinted at by L176 but another bullet point clarifying this point, after the point about the baremetal API would be good. Something like:\n\n\"The Baremetal nodes need to have access to any services required for provisioning/cleaning, for example TFTP/iPXE/Swift etc, while connected to the provisioning/cleaning network.\"","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":200,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":201,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":202,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":203,"context_line":"for an HA deployment."},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"},{"line_number":206,"context_line":"to keep all conductors separate from other services in the cloud. The minimum"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_5b9e46b9","line":203,"updated":"2017-08-04 16:57:19.000000000","message":"Worth mentioning something about anti-affinity of conductors for reliability?","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":200,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":201,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":202,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":203,"context_line":"for an HA deployment."},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"},{"line_number":206,"context_line":"to keep all conductors separate from other services in the cloud. The minimum"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_47f9847e","line":203,"in_reply_to":"bf3e73b7_d83668b5","updated":"2017-08-08 14:25:38.000000000","message":"I\u0027ll leave it up for someone with experience in this kind of things..","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":200,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":201,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":202,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":203,"context_line":"for an HA deployment."},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"},{"line_number":206,"context_line":"to keep all conductors separate from other services in the cloud. The minimum"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_d83668b5","line":203,"in_reply_to":"df3967d1_5b9e46b9","updated":"2017-08-07 10:40:05.000000000","message":"What level of anti-affinity? if we\u0027re just talking separate servers that is the expected way to deploy conductors, deploying multiple conductors on one server isn\u0027t supported conductors use host names for IDs etc (we should probably make sure that is documented somewhere), if we\u0027re talking separate power strips/network paths etc then we should probably come up with a HA deployment doc to cover those sort of decisions","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":211,"context_line":"  bare metal nodes (for example, handling slower controllers may require having"},{"line_number":212,"context_line":"  less nodes per conductor),"},{"line_number":213,"context_line":"* the bare metal driver used for nodes (see `Hardware and drivers`_ above),"},{"line_number":214,"context_line":"* the network performance,"},{"line_number":215,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":216,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"},{"line_number":217,"context_line":"  service)."}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_fb5bbaf2","line":214,"updated":"2017-08-04 16:57:19.000000000","message":"Could be worth making a distinction between the nodes, conductors and the network itself here. It\u0027s possible to use a better NIC on the conductors to speed up image transfer with the iscsi deploy interface.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":211,"context_line":"  bare metal nodes (for example, handling slower controllers may require having"},{"line_number":212,"context_line":"  less nodes per conductor),"},{"line_number":213,"context_line":"* the bare metal driver used for nodes (see `Hardware and drivers`_ above),"},{"line_number":214,"context_line":"* the network performance,"},{"line_number":215,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":216,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"},{"line_number":217,"context_line":"  service)."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_e7ef58ae","line":214,"in_reply_to":"df3967d1_fb5bbaf2","updated":"2017-08-08 14:25:38.000000000","message":"Sorry, I don\u0027t quite get it. What exactly would you put here?","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7cf7db74bcc4e4604f275128c8be1ecb92bba3d0","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"* The ``iscsi`` deploy method requires caching of the whole instance image"},{"line_number":231,"context_line":"  locally during the deployment. The image has to be converted to the raw"},{"line_number":232,"context_line":"  format, which may increase free disk space requirements even further."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* When network boot is used, the instance image kernel and ramdisk are cached"},{"line_number":235,"context_line":"  locally while the instance is active."}],"source_content_type":"text/x-rst","patch_set":7,"id":"bf3e73b7_58a2789c","line":232,"range":{"start_line":232,"start_character":29,"end_line":232,"end_character":33},"updated":"2017-08-07 10:40:05.000000000","message":"Can we read word this sentence a bit to something like:\n\n\"which may increase the required amount of disk space\"\n\nthe way I read the current sentence was:\n\n\"The image has to be converted to the raw format which may increase free disk space\"\n\nWhich is the opposite of what happens ;)","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"* The ``iscsi`` deploy method requires caching of the whole instance image"},{"line_number":231,"context_line":"  locally during the deployment. The image has to be converted to the raw"},{"line_number":232,"context_line":"  format, which may increase free disk space requirements even further."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* When network boot is used, the instance image kernel and ramdisk are cached"},{"line_number":235,"context_line":"  locally while the instance is active."}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_bbac12ed","line":232,"updated":"2017-08-04 16:57:19.000000000","message":"and processing","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"* The ``iscsi`` deploy method requires caching of the whole instance image"},{"line_number":231,"context_line":"  locally during the deployment. The image has to be converted to the raw"},{"line_number":232,"context_line":"  format, which may increase free disk space requirements even further."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* When network boot is used, the instance image kernel and ramdisk are cached"},{"line_number":235,"context_line":"  locally while the instance is active."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_c71334b8","line":232,"range":{"start_line":232,"start_character":29,"end_line":232,"end_character":33},"in_reply_to":"bf3e73b7_58a2789c","updated":"2017-08-08 14:25:38.000000000","message":"Done","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f67998728fbb64bc319e2e579f557466b888b721","unresolved":false,"context_lines":[{"line_number":230,"context_line":"* The ``iscsi`` deploy method requires caching of the whole instance image"},{"line_number":231,"context_line":"  locally during the deployment. The image has to be converted to the raw"},{"line_number":232,"context_line":"  format, which may increase free disk space requirements even further."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* When network boot is used, the instance image kernel and ramdisk are cached"},{"line_number":235,"context_line":"  locally while the instance is active."},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"df3967d1_5bec0629","line":233,"updated":"2017-08-04 16:57:19.000000000","message":"Could explicitly state that the direct deploy interface has no requirements on the conductor regarding the instance image.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6be2838a075690bf116a0988f67d87f74b394dee","unresolved":false,"context_lines":[{"line_number":230,"context_line":"* The ``iscsi`` deploy method requires caching of the whole instance image"},{"line_number":231,"context_line":"  locally during the deployment. The image has to be converted to the raw"},{"line_number":232,"context_line":"  format, which may increase free disk space requirements even further."},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"* When network boot is used, the instance image kernel and ramdisk are cached"},{"line_number":235,"context_line":"  locally while the instance is active."},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9f436f4f_a77dd0e8","line":233,"in_reply_to":"df3967d1_5bec0629","updated":"2017-08-08 14:25:38.000000000","message":"Feels a bit redundant, but ok.","commit_id":"e740099c40ebf8c0bc3da0f5e7575997233c1a67"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This section covers considerations that are equally important to all described"},{"line_number":5,"context_line":"architectures."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":".. contents::"},{"line_number":8,"context_line":"   :local:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_c0ae5e2d","line":5,"updated":"2017-08-09 12:27:06.000000000","message":"We should actually also cover some use case information or explicitly detail what some of these common considerations are, and what some other use cases may be that may have different considerations, because someone doing a massive machine deployment is different than someone using ironic from nova for a tenant based machine, which is also kind of different than ironic deploying compute nodes as part of an undercloud.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This section covers considerations that are equally important to all described"},{"line_number":5,"context_line":"architectures."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":".. contents::"},{"line_number":8,"context_line":"   :local:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_1bdd0b14","line":5,"in_reply_to":"9f436f4f_c0ae5e2d","updated":"2017-08-23 10:43:27.000000000","message":"This is just one of many rearch docs we plan to add, this doc is supposed to cover the lowest common denominator things that every arch needs to take into consideration and there will be more detailed pages for specific architectures","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":19072,"name":"Xavier","email":"marcusrafael@lsd.ufcg.edu.br","username":"marcusrafael"},"change_message_id":"3f570db0c631a846958d78ddac5c0ee387e1eb5f","unresolved":false,"context_lines":[{"line_number":7,"context_line":".. contents::"},{"line_number":8,"context_line":"   :local:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Components"},{"line_number":11,"context_line":"----------"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"As explained in :doc:`../get_started`, the Bare Metal service has three"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_aa67d525","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":10},"updated":"2017-08-08 15:06:29.000000000","message":"Could images (kernel/ramdisk) be a component? It would clarify the diferences and requirements (e. g. amount of ram needed to deploy them).","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":7,"context_line":".. contents::"},{"line_number":8,"context_line":"   :local:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Components"},{"line_number":11,"context_line":"----------"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"As explained in :doc:`../get_started`, the Bare Metal service has three"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_a5dc9274","line":10,"updated":"2017-09-11 13:54:47.000000000","message":"I\u0027m adding a few words about image sizes.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":7,"context_line":".. contents::"},{"line_number":8,"context_line":"   :local:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Components"},{"line_number":11,"context_line":"----------"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"As explained in :doc:`../get_started`, the Bare Metal service has three"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_c0d77ebf","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":10},"in_reply_to":"9f436f4f_aa67d525","updated":"2017-08-09 12:27:06.000000000","message":"You raise a very good point about \"what does my hardware fleet need to look like at a minimum to deploy using ironic\" With the way the document is structured, I\u0027m not sure of a good way to represent that in a unified fashion.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":7,"context_line":".. contents::"},{"line_number":8,"context_line":"   :local:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Components"},{"line_number":11,"context_line":"----------"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"As explained in :doc:`../get_started`, the Bare Metal service has three"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_7b3bef37","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":10},"in_reply_to":"9f436f4f_c0d77ebf","updated":"2017-08-23 10:43:27.000000000","message":"This doc isn\u0027t supposed to represent that information in a unified fashion unless there is a minimum amount of equipment required (I guess one server running ironic and one node to boot) specific architecture pages should go into more detail about the equipment required for different ironic deployment architectures","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    it manages."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  * The conductor co-exists with TFTP (for PXE) and/or HTTP (for iPXE) services"},{"line_number":33,"context_line":"    that provide the kernel and ramdisk to boot to the nodes. The conductor"},{"line_number":34,"context_line":"    manages them by writing files to their root directories."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  * If serial console is used, the conductor launches console processes"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_85d99684","line":33,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6c313ef8b19d7f8f50738cfb3ca01d46e8df79ec","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    it manages."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  * The conductor co-exists with TFTP (for PXE) and/or HTTP (for iPXE) services"},{"line_number":33,"context_line":"    that provide the kernel and ramdisk to boot to the nodes. The conductor"},{"line_number":34,"context_line":"    manages them by writing files to their root directories."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  * If serial console is used, the conductor launches console processes"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_c5043a7e","line":33,"range":{"start_line":33,"start_character":48,"end_line":33,"end_character":54},"updated":"2017-08-09 05:42:47.000000000","message":"nit: s/ \u0027to the\u0027 / \u0027the\u0027 /","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  .. warning::"},{"line_number":48,"context_line":"    The ``ironic-python-agent`` service is not intended to be used anywhere"},{"line_number":49,"context_line":"    other than a provisioning ramdisk."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Hardware and drivers"},{"line_number":52,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_65e6aa47","line":49,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  .. warning::"},{"line_number":48,"context_line":"    The ``ironic-python-agent`` service is not intended to be used anywhere"},{"line_number":49,"context_line":"    other than a provisioning ramdisk."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Hardware and drivers"},{"line_number":52,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_00610637","line":49,"range":{"start_line":49,"start_character":17,"end_line":49,"end_character":29},"updated":"2017-08-09 12:27:06.000000000","message":"provisioning/cleaning","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    guide."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Once you make sure that the hardware supports these capabilities, you need to"},{"line_number":79,"context_line":"find a suitable driver. A lot of enterprise-grade hardware has support for"},{"line_number":80,"context_line":"IPMI_ and thus can utilize :doc:`/admin/drivers/ipmitool`. Several vendors"},{"line_number":81,"context_line":"provide more specific drivers that usually provide additional capabilities."},{"line_number":82,"context_line":"Check :doc:`/admin/drivers` to find the most suitable one."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_45e3ae34","line":79,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    guide."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Once you make sure that the hardware supports these capabilities, you need to"},{"line_number":79,"context_line":"find a suitable driver. A lot of enterprise-grade hardware has support for"},{"line_number":80,"context_line":"IPMI_ and thus can utilize :doc:`/admin/drivers/ipmitool`. Several vendors"},{"line_number":81,"context_line":"provide more specific drivers that usually provide additional capabilities."},{"line_number":82,"context_line":"Check :doc:`/admin/drivers` to find the most suitable one."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_2083eace","line":79,"range":{"start_line":79,"start_character":24,"end_line":79,"end_character":29},"updated":"2017-08-09 12:27:06.000000000","message":"s/A lot of/Most/","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Once you make sure that the hardware supports these capabilities, you need to"},{"line_number":79,"context_line":"find a suitable driver. A lot of enterprise-grade hardware has support for"},{"line_number":80,"context_line":"IPMI_ and thus can utilize :doc:`/admin/drivers/ipmitool`. Several vendors"},{"line_number":81,"context_line":"provide more specific drivers that usually provide additional capabilities."},{"line_number":82,"context_line":"Check :doc:`/admin/drivers` to find the most suitable one."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_25d2e25d","line":80,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Once you make sure that the hardware supports these capabilities, you need to"},{"line_number":79,"context_line":"find a suitable driver. A lot of enterprise-grade hardware has support for"},{"line_number":80,"context_line":"IPMI_ and thus can utilize :doc:`/admin/drivers/ipmitool`. Several vendors"},{"line_number":81,"context_line":"provide more specific drivers that usually provide additional capabilities."},{"line_number":82,"context_line":"Check :doc:`/admin/drivers` to find the most suitable one."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_40670e4f","line":80,"updated":"2017-08-09 12:27:06.000000000","message":"If we\u0027re going to mention ipmi, we should likely mention redfish....","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":108,"context_line":"There are two deploy interfaces in-tree, ``iscsi`` and ``direct``. See"},{"line_number":109,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":110,"context_line":"``iscsi`` deploy method, most of the deployment operations happen on the"},{"line_number":111,"context_line":"conductor.  If the Object Storage service (swift) or RadosGW is present in"},{"line_number":112,"context_line":"the cloud, it is recommended to use the ``direct`` deploy method for better"},{"line_number":113,"context_line":"scalability and reliability."},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_05d7e64d","line":111,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"fe5d144c3f312ca5b9be91095b964c0fb9ec297d","unresolved":false,"context_lines":[{"line_number":108,"context_line":"There are two deploy interfaces in-tree, ``iscsi`` and ``direct``. See"},{"line_number":109,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":110,"context_line":"``iscsi`` deploy method, most of the deployment operations happen on the"},{"line_number":111,"context_line":"conductor.  If the Object Storage service (swift) or RadosGW is present in"},{"line_number":112,"context_line":"the cloud, it is recommended to use the ``direct`` deploy method for better"},{"line_number":113,"context_line":"scalability and reliability."},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_f0538ce1","line":111,"range":{"start_line":111,"start_character":11,"end_line":111,"end_character":12},"updated":"2017-08-08 16:00:43.000000000","message":"nit - double space","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":111,"context_line":"conductor.  If the Object Storage service (swift) or RadosGW is present in"},{"line_number":112,"context_line":"the cloud, it is recommended to use the ``direct`` deploy method for better"},{"line_number":113,"context_line":"scalability and reliability."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Local vs network boot"},{"line_number":116,"context_line":"---------------------"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_a0e47aad","line":114,"updated":"2017-08-09 12:27:06.000000000","message":"It might just be me, but I kind of feel like some of the interface information is out of place, meaning if I\u0027m trying to figure out how I\u0027m going to architect a deployment or how pieces of the puzzle plug together on a more technical level, I\u0027m not going to be looking at driver interfaces first, I\u0027m going to be trying to understand mechanisms and requirements for ways I might do things, which should then lead me to the interfaces.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":111,"context_line":"conductor.  If the Object Storage service (swift) or RadosGW is present in"},{"line_number":112,"context_line":"the cloud, it is recommended to use the ``direct`` deploy method for better"},{"line_number":113,"context_line":"scalability and reliability."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Local vs network boot"},{"line_number":116,"context_line":"---------------------"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_e5cbbaa2","line":114,"updated":"2017-09-11 13:54:47.000000000","message":"Maybe. I wanted to highlight the difference between two deploy methods here. Initially, I even avoided using \"interface\" too often, but people immediately corrected me :)","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":122,"context_line":"* Network boot cannot be used with certain architectures (for example, when no"},{"line_number":123,"context_line":"  tenant networks have access to the control plane)."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Network boot with *partition images* is only possible with GNU/Linux"},{"line_number":126,"context_line":"  operating systems, and requires the GRUB2 bootloader to be present on the"},{"line_number":127,"context_line":"  root image."},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_c5d0be53","line":125,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"fe5d144c3f312ca5b9be91095b964c0fb9ec297d","unresolved":false,"context_lines":[{"line_number":122,"context_line":"* Network boot cannot be used with certain architectures (for example, when no"},{"line_number":123,"context_line":"  tenant networks have access to the control plane)."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Network boot with *partition images* is only possible with GNU/Linux"},{"line_number":126,"context_line":"  operating systems, and requires the GRUB2 bootloader to be present on the"},{"line_number":127,"context_line":"  root image."},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_9009e0de","line":125,"range":{"start_line":125,"start_character":2,"end_line":125,"end_character":9},"updated":"2017-08-08 16:00:43.000000000","message":"Hrm, isn\u0027t it the same for local boot? because we trigger grub-install(?) binary to install the boot loader iirc.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6c313ef8b19d7f8f50738cfb3ca01d46e8df79ec","unresolved":false,"context_lines":[{"line_number":122,"context_line":"* Network boot cannot be used with certain architectures (for example, when no"},{"line_number":123,"context_line":"  tenant networks have access to the control plane)."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Network boot with *partition images* is only possible with GNU/Linux"},{"line_number":126,"context_line":"  operating systems, and requires the GRUB2 bootloader to be present on the"},{"line_number":127,"context_line":"  root image."},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_c013080d","line":125,"range":{"start_line":125,"start_character":2,"end_line":125,"end_character":9},"in_reply_to":"9f436f4f_9009e0de","updated":"2017-08-09 05:42:47.000000000","message":"+1\nYes, vdrok is right. We have two types of local boot. One where whole disk image is used which has grub2 pre-installed into the image. Second is provision the partition image and then install cum configure the grub2 for local boot.\nIn just partition image boot, we do not need grub2 be present on the root image.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":122,"context_line":"* Network boot cannot be used with certain architectures (for example, when no"},{"line_number":123,"context_line":"  tenant networks have access to the control plane)."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Network boot with *partition images* is only possible with GNU/Linux"},{"line_number":126,"context_line":"  operating systems, and requires the GRUB2 bootloader to be present on the"},{"line_number":127,"context_line":"  root image."},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_fb66bf51","line":125,"range":{"start_line":125,"start_character":2,"end_line":125,"end_character":9},"in_reply_to":"9f436f4f_c013080d","updated":"2017-08-23 10:43:27.000000000","message":"To be honest I think the distinction is just partition images are only supported for Linux","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":19072,"name":"Xavier","email":"marcusrafael@lsd.ufcg.edu.br","username":"marcusrafael"},"change_message_id":"3f570db0c631a846958d78ddac5c0ee387e1eb5f","unresolved":false,"context_lines":[{"line_number":123,"context_line":"  tenant networks have access to the control plane)."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Network boot with *partition images* is only possible with GNU/Linux"},{"line_number":126,"context_line":"  operating systems, and requires the GRUB2 bootloader to be present on the"},{"line_number":127,"context_line":"  root image."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Additional considerations are related to the ``pxe`` boot interface, and other"},{"line_number":130,"context_line":"boot interfaces based on it:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_2a24050d","line":127,"range":{"start_line":126,"start_character":25,"end_line":127,"end_character":12},"updated":"2017-08-08 15:06:29.000000000","message":"Should we add a mention to DIB docs?","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Network boot with *partition images* is only possible with GNU/Linux"},{"line_number":126,"context_line":"  operating systems, and requires the GRUB2 bootloader to be present on the"},{"line_number":127,"context_line":"  root image."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Additional considerations are related to the ``pxe`` boot interface, and other"},{"line_number":130,"context_line":"boot interfaces based on it:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_a5c5b290","line":127,"updated":"2017-09-11 13:54:47.000000000","message":"Yeah, I need to refresh my memory on DIB, hence I don\u0027t insert ready-to-use commands here","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":123,"context_line":"  tenant networks have access to the control plane)."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Network boot with *partition images* is only possible with GNU/Linux"},{"line_number":126,"context_line":"  operating systems, and requires the GRUB2 bootloader to be present on the"},{"line_number":127,"context_line":"  root image."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Additional considerations are related to the ``pxe`` boot interface, and other"},{"line_number":130,"context_line":"boot interfaces based on it:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_9d92fdf5","line":127,"range":{"start_line":126,"start_character":25,"end_line":127,"end_character":12},"in_reply_to":"9f436f4f_2a24050d","updated":"2017-08-09 12:27:06.000000000","message":"likely, I think dmitry would appreciate a follow-up patch that does exactly that :)","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"* Local boot makes node\u0027s boot process independent of the Bare Metal conductor"},{"line_number":133,"context_line":"  managing it. Thus, nodes are able to reboot correctly, even if the Bare Metal"},{"line_number":134,"context_line":"  service is down."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"* Network boot (and iPXE) must be used when booting nodes from remote volumes."},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_85c2b684","line":134,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"e79730d7e0c026f55d0eac73144c90ff7484a740","unresolved":false,"context_lines":[{"line_number":130,"context_line":"boot interfaces based on it:"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"* Local boot makes node\u0027s boot process independent of the Bare Metal conductor"},{"line_number":133,"context_line":"  managing it. Thus, nodes are able to reboot correctly, even if the Bare Metal"},{"line_number":134,"context_line":"  service is down."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"* Network boot (and iPXE) must be used when booting nodes from remote volumes."},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_a5d1f1fd","line":134,"range":{"start_line":133,"start_character":69,"end_line":134,"end_character":10},"updated":"2017-08-11 05:56:11.000000000","message":"Maybe Bare Metal service node is down? As long as pxe config is not wiped out, it doesn\u0027t matter if ironic service is down or not for a net boot.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":156,"context_line":"There are several recommended network topologies to be used with the Bare"},{"line_number":157,"context_line":"Metal service. They are explained in depth in specific architecture"},{"line_number":158,"context_line":"documentation. However, several considerations are common for all of them:"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* There has to be a *provisioning* network, which is used by nodes during"},{"line_number":161,"context_line":"  the deployment process. If allowed by the architecture, this network should"},{"line_number":162,"context_line":"  not be accessible by end users, and should not have access to the internet."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_a0f0faca","line":159,"updated":"2017-08-09 12:27:06.000000000","message":"We should put a note in that highlights these are the expectations for neutron integrated networking, to set the context that we are speaking of neutron networks, not specific wiring, broadcast domains, vlans on switches (unless the neutron driver, and then it should be created/managed by neutron)","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":156,"context_line":"There are several recommended network topologies to be used with the Bare"},{"line_number":157,"context_line":"Metal service. They are explained in depth in specific architecture"},{"line_number":158,"context_line":"documentation. However, several considerations are common for all of them:"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* There has to be a *provisioning* network, which is used by nodes during"},{"line_number":161,"context_line":"  the deployment process. If allowed by the architecture, this network should"},{"line_number":162,"context_line":"  not be accessible by end users, and should not have access to the internet."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_65bfcafb","line":159,"updated":"2017-09-11 13:54:47.000000000","message":"Yeah, I was planning this as neutral. Please point me where I\u0027m making neutron-specific assumptions. I was talking about networks in general, not specifically neutron networks :)","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":156,"context_line":"There are several recommended network topologies to be used with the Bare"},{"line_number":157,"context_line":"Metal service. They are explained in depth in specific architecture"},{"line_number":158,"context_line":"documentation. However, several considerations are common for all of them:"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* There has to be a *provisioning* network, which is used by nodes during"},{"line_number":161,"context_line":"  the deployment process. If allowed by the architecture, this network should"},{"line_number":162,"context_line":"  not be accessible by end users, and should not have access to the internet."}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_9b88dbc6","line":159,"in_reply_to":"9f436f4f_a0f0faca","updated":"2017-08-23 10:43:27.000000000","message":"I think all of the bullet points below would apply to Ironic in OpenStack with neutron or Ironic standalone or in the future Ironic with a different SDN solution. There is nothing neutron specific mentioned, neutron might provide the provisioning network, or an admin might manually configure it in a TOR for a standalone deployment, the considerations to do with how the baremetals communicate with the services are the same.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6cb22246f79f604a6f1bc24f3270656a5a0c71ae","unresolved":false,"context_lines":[{"line_number":168,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* The baremetal nodes have to have access to the Bare Metal API while connected"},{"line_number":171,"context_line":"  to the provisioning/cleaning network."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"  .. note::"},{"line_number":174,"context_line":"      Actually, only two endpoints need to be exposed there::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_a26498ba","line":171,"updated":"2017-08-22 18:43:59.000000000","message":"Would be nice here to mention that for security reasons it is recommended to setup two pair of APIs (node administration - lookup and heartbeat endpoints are disabled) and node provisioning - only lookup and heartbeat endpoints are open via keystone policy from cleaning/provisioning networks)","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":168,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* The baremetal nodes have to have access to the Bare Metal API while connected"},{"line_number":171,"context_line":"  to the provisioning/cleaning network."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"  .. note::"},{"line_number":174,"context_line":"      Actually, only two endpoints need to be exposed there::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_c6f7a6f5","line":171,"in_reply_to":"7f287b81_a26498ba","updated":"2017-08-23 10:43:27.000000000","message":"We\u0027ve had discussions about this before and there are different options about how you limit endpoint access, you can deploy separate instances of Ironic API, or with WSGI behind something like apache you can limit which endpoints are exposed to different networks so I think that this information goes to much in depth into a specific architecture","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        GET /v1/lookup"},{"line_number":177,"context_line":"        POST /v1/heartbeat/[a-z0-9\\-]+"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"* If the ``pxe`` boot interface (or any boot interface based on it) is used,"},{"line_number":182,"context_line":"  then the baremetal nodes should have untagged (access mode) connectivity"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_45bcce04","line":179,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"fe5d144c3f312ca5b9be91095b964c0fb9ec297d","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        GET /v1/lookup"},{"line_number":177,"context_line":"        POST /v1/heartbeat/[a-z0-9\\-]+"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"* If the ``pxe`` boot interface (or any boot interface based on it) is used,"},{"line_number":182,"context_line":"  then the baremetal nodes should have untagged (access mode) connectivity"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_10e3b007","line":179,"updated":"2017-08-08 16:00:43.000000000","message":"and close these two for tenant networks, if possible?","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        GET /v1/lookup"},{"line_number":177,"context_line":"        POST /v1/heartbeat/[a-z0-9\\-]+"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"      You may want to limit access from this network to only these endpoints."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"* If the ``pxe`` boot interface (or any boot interface based on it) is used,"},{"line_number":182,"context_line":"  then the baremetal nodes should have untagged (access mode) connectivity"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_3d7e71e4","line":179,"in_reply_to":"9f436f4f_10e3b007","updated":"2017-08-09 12:27:06.000000000","message":"+1, or state \"from non-essential access, such as tenant networks, public internet, etc.\"","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  provisioning/cleaning, while connected to the provisioning/cleaning network."},{"line_number":193,"context_line":"  This may include:"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"  * TFTP and HTTP services in case of the ``pxe`` boot interface"},{"line_number":196,"context_line":"  * either an HTTP server or the Object Storage service in case of the"},{"line_number":197,"context_line":"    ``direct`` deploy interface and some virtual media boot interfaces"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_253782b3","line":195,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6c313ef8b19d7f8f50738cfb3ca01d46e8df79ec","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  provisioning/cleaning, while connected to the provisioning/cleaning network."},{"line_number":193,"context_line":"  This may include:"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"  * TFTP and HTTP services in case of the ``pxe`` boot interface"},{"line_number":196,"context_line":"  * either an HTTP server or the Object Storage service in case of the"},{"line_number":197,"context_line":"    ``direct`` deploy interface and some virtual media boot interfaces"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_00891074","line":195,"range":{"start_line":195,"start_character":4,"end_line":195,"end_character":9},"updated":"2017-08-09 05:42:47.000000000","message":"May be better to mention BOOTP/DHCP service as well.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  provisioning/cleaning, while connected to the provisioning/cleaning network."},{"line_number":193,"context_line":"  This may include:"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"  * TFTP and HTTP services in case of the ``pxe`` boot interface"},{"line_number":196,"context_line":"  * either an HTTP server or the Object Storage service in case of the"},{"line_number":197,"context_line":"    ``direct`` deploy interface and some virtual media boot interfaces"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_207e4a6b","line":195,"range":{"start_line":195,"start_character":4,"end_line":195,"end_character":9},"in_reply_to":"9f436f4f_00891074","updated":"2017-08-09 12:27:06.000000000","message":"Or perhaps \"TFTP for PXE boot, and HTTP if iPXE is enabled\" ?","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":219,"context_line":"The Bare Metal conductor service utilizes the active/active HA model. Every"},{"line_number":220,"context_line":"conductor manages a certain subset of nodes. The nodes are organized in a hash"},{"line_number":221,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":222,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":223,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":224,"context_line":"for an HA deployment."},{"line_number":225,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_053c8691","line":222,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":219,"context_line":"The Bare Metal conductor service utilizes the active/active HA model. Every"},{"line_number":220,"context_line":"conductor manages a certain subset of nodes. The nodes are organized in a hash"},{"line_number":221,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":222,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":223,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":224,"context_line":"for an HA deployment."},{"line_number":225,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_40338eac","line":222,"range":{"start_line":222,"start_character":43,"end_line":222,"end_character":48},"updated":"2017-08-09 12:27:06.000000000","message":"Speaking of dead, maybe rewording to indicate how it is considered dead or offline?  Offline may be a better word to use as well.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":219,"context_line":"The Bare Metal conductor service utilizes the active/active HA model. Every"},{"line_number":220,"context_line":"conductor manages a certain subset of nodes. The nodes are organized in a hash"},{"line_number":221,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":222,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":223,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":224,"context_line":"for an HA deployment."},{"line_number":225,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_26378ab3","line":222,"range":{"start_line":222,"start_character":43,"end_line":222,"end_character":48},"in_reply_to":"9f436f4f_40338eac","updated":"2017-08-23 10:43:27.000000000","message":"+1 to \"offline\"","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":220,"context_line":"conductor manages a certain subset of nodes. The nodes are organized in a hash"},{"line_number":221,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":222,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":223,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":224,"context_line":"for an HA deployment."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_e5405a0a","line":223,"updated":"2017-09-11 13:54:47.000000000","message":"My plan was to explain how ironic deals with several instances of ironic-conductor, so that people could plan the number of the nodes. I think am explanation of the hash ring should go somewhere else.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"fe5d144c3f312ca5b9be91095b964c0fb9ec297d","unresolved":false,"context_lines":[{"line_number":219,"context_line":"The Bare Metal conductor service utilizes the active/active HA model. Every"},{"line_number":220,"context_line":"conductor manages a certain subset of nodes. The nodes are organized in a hash"},{"line_number":221,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":222,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":223,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":224,"context_line":"for an HA deployment."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_b0898427","line":223,"range":{"start_line":222,"start_character":11,"end_line":223,"end_character":17},"updated":"2017-08-08 16:00:43.000000000","message":"we might want to make it a bit more clear that adding a conductor also triggers the rebalance, but I\u0027m not sure how.\n\nAlso should we distinguish between take over (which is for active nodes) and hash ring rebalance (that is about which conductor will do the action with node)?","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":219,"context_line":"The Bare Metal conductor service utilizes the active/active HA model. Every"},{"line_number":220,"context_line":"conductor manages a certain subset of nodes. The nodes are organized in a hash"},{"line_number":221,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":222,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":223,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":224,"context_line":"for an HA deployment."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_e6b182e3","line":223,"range":{"start_line":222,"start_character":11,"end_line":223,"end_character":17},"in_reply_to":"9f436f4f_80e3b633","updated":"2017-08-23 10:43:27.000000000","message":"I think simply stating something like:\n\n\"When a new conductor is added to an existing pool of conductors, the ironic nodes will be redistributed among all the conductors such that each conductor takes control of a roughly even number of ironic nodes.\"\n\nI think talking about rebalancing and hashrings in a document like this is leaks to much implementation detail. If people want that sort of information I think it should be in the dev docs somewhere.\n\nI also wonder if this information should be in a document that is meant to be about reference deployment architectures... it feels like it we\u0027re mixing general operator and ironic system architechture documentation with deployment architecture.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":219,"context_line":"The Bare Metal conductor service utilizes the active/active HA model. Every"},{"line_number":220,"context_line":"conductor manages a certain subset of nodes. The nodes are organized in a hash"},{"line_number":221,"context_line":"ring that tries to keep the load spread more or less uniformly across the"},{"line_number":222,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":223,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":224,"context_line":"for an HA deployment."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_80e3b633","line":223,"range":{"start_line":222,"start_character":11,"end_line":223,"end_character":17},"in_reply_to":"9f436f4f_b0898427","updated":"2017-08-09 12:27:06.000000000","message":"I think the alternative is to talk about the ring hash explicitly, and then break out \"If this happens, x should occur\" to something else.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":222,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":223,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":224,"context_line":"for an HA deployment."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"},{"line_number":227,"context_line":"to keep all conductors separate from other services in the cloud. The minimum"},{"line_number":228,"context_line":"required number of conductors in a deployment depends on several factors:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_c5455e19","line":225,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":222,"context_line":"conductors. When a conductor is considered dead, its nodes are taken over by"},{"line_number":223,"context_line":"other conductors. As a result of this, you need at least 2 conductor hosts"},{"line_number":224,"context_line":"for an HA deployment."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Conductors can be resource intensive, so it is recommended (but not required)"},{"line_number":227,"context_line":"to keep all conductors separate from other services in the cloud. The minimum"},{"line_number":228,"context_line":"required number of conductors in a deployment depends on several factors:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_e094c246","line":225,"updated":"2017-08-09 12:27:06.000000000","message":"maybe sub-header for performance considerations?","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":231,"context_line":"* the speed and reliability of the `management controller`_ of the"},{"line_number":232,"context_line":"  bare metal nodes (for example, handling slower controllers may require having"},{"line_number":233,"context_line":"  less nodes per conductor),"},{"line_number":234,"context_line":"* the bare metal driver used for nodes (see `Hardware and drivers`_ above),"},{"line_number":235,"context_line":"* the network performance,"},{"line_number":236,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":237,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_a54a5224","line":234,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":231,"context_line":"* the speed and reliability of the `management controller`_ of the"},{"line_number":232,"context_line":"  bare metal nodes (for example, handling slower controllers may require having"},{"line_number":233,"context_line":"  less nodes per conductor),"},{"line_number":234,"context_line":"* the bare metal driver used for nodes (see `Hardware and drivers`_ above),"},{"line_number":235,"context_line":"* the network performance,"},{"line_number":236,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":237,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_8074d636","line":234,"updated":"2017-08-09 12:27:06.000000000","message":"May also be worth noting that the rate at which bare metal machines are provisioned.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":231,"context_line":"* the speed and reliability of the `management controller`_ of the"},{"line_number":232,"context_line":"  bare metal nodes (for example, handling slower controllers may require having"},{"line_number":233,"context_line":"  less nodes per conductor),"},{"line_number":234,"context_line":"* the bare metal driver used for nodes (see `Hardware and drivers`_ above),"},{"line_number":235,"context_line":"* the network performance,"},{"line_number":236,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":237,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_e634e24c","line":234,"in_reply_to":"9f436f4f_8074d636","updated":"2017-08-23 10:43:27.000000000","message":"I think that is what the point on L236 it trying to make, although I guess we should mention it in a more generic way that covers standalone too.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":232,"context_line":"  bare metal nodes (for example, handling slower controllers may require having"},{"line_number":233,"context_line":"  less nodes per conductor),"},{"line_number":234,"context_line":"* the bare metal driver used for nodes (see `Hardware and drivers`_ above),"},{"line_number":235,"context_line":"* the network performance,"},{"line_number":236,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":237,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"},{"line_number":238,"context_line":"  service)."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_8547561e","line":235,"updated":"2017-09-11 13:54:47.000000000","message":"I think it should go to neutron architecture(s)","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":232,"context_line":"  bare metal nodes (for example, handling slower controllers may require having"},{"line_number":233,"context_line":"  less nodes per conductor),"},{"line_number":234,"context_line":"* the bare metal driver used for nodes (see `Hardware and drivers`_ above),"},{"line_number":235,"context_line":"* the network performance,"},{"line_number":236,"context_line":"* the maximum number of instances each Compute service can build"},{"line_number":237,"context_line":"  simultaneously (see the ``max_concurrent_builds`` option in the Compute"},{"line_number":238,"context_line":"  service)."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_200f6ae2","line":235,"updated":"2017-08-09 12:27:06.000000000","message":"Indirectly, may be also worth mentioning neutron load because in some cases that introduces delay into the deployment","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":240,"context_line":"We recommend a target of **100** bare metal nodes per conductor for maximum"},{"line_number":241,"context_line":"reliability and performance. There is some tolerance for a larger number per"},{"line_number":242,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"},{"line_number":243,"context_line":"handling approximately 300 bare metal nodes per conductor."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Each conductor needs enough free disk space to cache images it uses."},{"line_number":246,"context_line":"Depending on the combination of the deploy interface and the boot option,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_65546acb","line":243,"updated":"2017-09-11 13:54:47.000000000","message":"Done, but I\u0027d prefer a proper tuning guide indeed","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":240,"context_line":"We recommend a target of **100** bare metal nodes per conductor for maximum"},{"line_number":241,"context_line":"reliability and performance. There is some tolerance for a larger number per"},{"line_number":242,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"},{"line_number":243,"context_line":"handling approximately 300 bare metal nodes per conductor."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Each conductor needs enough free disk space to cache images it uses."},{"line_number":246,"context_line":"Depending on the combination of the deploy interface and the boot option,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_0046a624","line":243,"updated":"2017-08-09 12:27:06.000000000","message":"Perhaps worth noting that sync_power_state is one of the big headaches and some deployments have approached much larger numbers via that tunable?  Or maybe that is a \"tuning guide\" worthy item.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":240,"context_line":"We recommend a target of **100** bare metal nodes per conductor for maximum"},{"line_number":241,"context_line":"reliability and performance. There is some tolerance for a larger number per"},{"line_number":242,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"},{"line_number":243,"context_line":"handling approximately 300 bare metal nodes per conductor."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Each conductor needs enough free disk space to cache images it uses."},{"line_number":246,"context_line":"Depending on the combination of the deploy interface and the boot option,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_66e472ad","line":243,"in_reply_to":"9f436f4f_0046a624","updated":"2017-08-23 10:43:27.000000000","message":"I think mentioning that kind of thing here is going into too much implementation detail, I agree we need too have tuning sync power state in the operator guide somewhere, but this should be some nice simple recommendations for operators to start with, we don\u0027t want to throw so much information at them they run away screaming","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":242,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"},{"line_number":243,"context_line":"handling approximately 300 bare metal nodes per conductor."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Each conductor needs enough free disk space to cache images it uses."},{"line_number":246,"context_line":"Depending on the combination of the deploy interface and the boot option,"},{"line_number":247,"context_line":"the space requirements are different:"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_e073a27f","line":245,"range":{"start_line":245,"start_character":47,"end_line":245,"end_character":68},"updated":"2017-08-09 12:27:06.000000000","message":"We should detail the default locations, as some distributions like to break disk partitioning up for security controls.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":242,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"},{"line_number":243,"context_line":"handling approximately 300 bare metal nodes per conductor."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Each conductor needs enough free disk space to cache images it uses."},{"line_number":246,"context_line":"Depending on the combination of the deploy interface and the boot option,"},{"line_number":247,"context_line":"the space requirements are different:"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_45516ed8","line":245,"updated":"2017-09-11 13:54:47.000000000","message":"Yep, I would not mind a patch against the install guide ;)","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":242,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"},{"line_number":243,"context_line":"handling approximately 300 bare metal nodes per conductor."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Each conductor needs enough free disk space to cache images it uses."},{"line_number":246,"context_line":"Depending on the combination of the deploy interface and the boot option,"},{"line_number":247,"context_line":"the space requirements are different:"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_a6037a42","line":245,"range":{"start_line":245,"start_character":47,"end_line":245,"end_character":68},"in_reply_to":"9f436f4f_e073a27f","updated":"2017-08-23 10:43:27.000000000","message":"thats getting more into how to install the conductor install guide stuff rather than reference deployment architecture information. Definately something we need to include in the installing the conductor/configuring the baremetal service section in the install guide.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"e79730d7e0c026f55d0eac73144c90ff7484a740","unresolved":false,"context_lines":[{"line_number":249,"context_line":"* The deployment kernel and ramdisk are always cached during the deployment."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"* The ``iscsi`` deploy method requires caching of the whole instance image"},{"line_number":252,"context_line":"  locally during the deployment. The image has to be converted to the raw"},{"line_number":253,"context_line":"  format, which may increase the required amount of disk space, as well as"},{"line_number":254,"context_line":"  the CPU load."},{"line_number":255,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_85ff0d33","line":252,"range":{"start_line":252,"start_character":43,"end_line":252,"end_character":49},"updated":"2017-08-11 05:56:11.000000000","message":"It can be controlled by option `force_raw_images`, please see my comments at PS6.\nI want to know why not making this option False by default?","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":249,"context_line":"* The deployment kernel and ramdisk are always cached during the deployment."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"* The ``iscsi`` deploy method requires caching of the whole instance image"},{"line_number":252,"context_line":"  locally during the deployment. The image has to be converted to the raw"},{"line_number":253,"context_line":"  format, which may increase the required amount of disk space, as well as"},{"line_number":254,"context_line":"  the CPU load."},{"line_number":255,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_2560a2a5","line":252,"updated":"2017-09-11 13:54:47.000000000","message":"This sentence is correct, we do need a raw image. The option you mention only controls when it happens, which is not critical for iscsi, as everything happens on the conductor anyway.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":254,"context_line":"  the CPU load."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"  .. note::"},{"line_number":257,"context_line":"    This is not a concern for the ``direct`` deploy interface."},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"* When network boot is used, the instance image kernel and ramdisk are cached"},{"line_number":260,"context_line":"  locally while the instance is active."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_0565a6b5","line":257,"updated":"2017-09-11 13:54:47.000000000","message":"Done","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":254,"context_line":"  the CPU load."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"  .. note::"},{"line_number":257,"context_line":"    This is not a concern for the ``direct`` deploy interface."},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"* When network boot is used, the instance image kernel and ramdisk are cached"},{"line_number":260,"context_line":"  locally while the instance is active."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_608fb223","line":257,"updated":"2017-08-09 12:27:06.000000000","message":"we should indicate why.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"e79730d7e0c026f55d0eac73144c90ff7484a740","unresolved":false,"context_lines":[{"line_number":264,"context_line":"    This is done to speed up simultaneous deployments of many similar images."},{"line_number":265,"context_line":"    The caching can be configured via the ``image_cache_size`` and"},{"line_number":266,"context_line":"    ``image_cache_ttl`` configuration options in the ``pxe`` group."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":".. [1] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118033.html"},{"line_number":269,"context_line":".. [2] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118327.html"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_c013c35b","line":267,"updated":"2017-08-11 05:56:11.000000000","message":"If we set this value to a small value, considering a simultaneous deployment with different images, when image A is download in cache, and comes image B, image A will be cleaned up for insufficient disk space, node A will fail to deploy, can this be happen?\nThis may be an edge case, but if the statement is true, I don\u0027t know if our code handles properly, should we add a warning here?\nBesides, the cache size is related to performance.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":264,"context_line":"    This is done to speed up simultaneous deployments of many similar images."},{"line_number":265,"context_line":"    The caching can be configured via the ``image_cache_size`` and"},{"line_number":266,"context_line":"    ``image_cache_ttl`` configuration options in the ``pxe`` group."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":".. [1] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118033.html"},{"line_number":269,"context_line":".. [2] http://lists.openstack.org/pipermail/openstack-dev/2017-June/118327.html"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_e5597afe","line":267,"updated":"2017-09-11 13:54:47.000000000","message":"Nope, I think we have proper locking in place.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4d739f34d7abdf1a9f444a012e3dcc49cf9de566","unresolved":false,"context_lines":[{"line_number":271,"context_line":"Other services"},{"line_number":272,"context_line":"~~~~~~~~~~~~~~"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"When integrating with other OpenStack services, more considerations may need"},{"line_number":275,"context_line":"to be applied. This is covered in other parts of this guide."},{"line_number":276,"context_line":""},{"line_number":277,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f2577a7_c55e7ee5","line":274,"updated":"2017-09-11 13:54:47.000000000","message":"Yep","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6cb22246f79f604a6f1bc24f3270656a5a0c71ae","unresolved":false,"context_lines":[{"line_number":271,"context_line":"Other services"},{"line_number":272,"context_line":"~~~~~~~~~~~~~~"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"When integrating with other OpenStack services, more considerations may need"},{"line_number":275,"context_line":"to be applied. This is covered in other parts of this guide."},{"line_number":276,"context_line":""},{"line_number":277,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_820e3ce3","line":274,"updated":"2017-08-22 18:43:59.000000000","message":"what about nova-compute? It utilize the same hash ring to manage baremetal nodes and may be deployed together with ironic conductor services.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":271,"context_line":"Other services"},{"line_number":272,"context_line":"~~~~~~~~~~~~~~"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"When integrating with other OpenStack services, more considerations may need"},{"line_number":275,"context_line":"to be applied. This is covered in other parts of this guide."},{"line_number":276,"context_line":""},{"line_number":277,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_264c2a9d","line":274,"in_reply_to":"7f287b81_820e3ce3","updated":"2017-08-23 10:43:27.000000000","message":"I think that falls into the category of \"This is covered in other parts of this guide.\" this page is supposed to be common stuff that will apply to all ironic deployment architectures that includes standalone, so mentioning nova in the common section would be out of place.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"5290e603ae42a651dbb71f7325e84b932b76ea12","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    manages them by writing files to their root directories."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  * If serial console is used, the conductor launches console processes"},{"line_number":37,"context_line":"    locally. If the nova-serialproxy service (part of the Compute service)"},{"line_number":38,"context_line":"    it used, it has to be able to reach them. Otherwise, they have to be"},{"line_number":39,"context_line":"    directly accessible by the users."},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"bf57530f_b94bc0ae","line":37,"range":{"start_line":37,"start_character":20,"end_line":37,"end_character":36},"updated":"2017-09-20 10:17:04.000000000","message":"s/ nova-serialproxy / ``nova-serialproxy`` /","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    manages them by writing files to their root directories."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  * If serial console is used, the conductor launches console processes"},{"line_number":37,"context_line":"    locally. If the nova-serialproxy service (part of the Compute service)"},{"line_number":38,"context_line":"    it used, it has to be able to reach them. Otherwise, they have to be"},{"line_number":39,"context_line":"    directly accessible by the users."},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_c809e895","line":37,"range":{"start_line":37,"start_character":20,"end_line":37,"end_character":36},"in_reply_to":"bf57530f_b94bc0ae","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":19686,"name":"Ramamani Yeleswarapu","email":"ramamani.yeleswarapu@intel.com","username":"Rama_Y"},"change_message_id":"9bd8c785b2bc2c9bd2222f1ad0c49c9e85986966","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  * If serial console is used, the conductor launches console processes"},{"line_number":37,"context_line":"    locally. If the nova-serialproxy service (part of the Compute service)"},{"line_number":38,"context_line":"    it used, it has to be able to reach them. Otherwise, they have to be"},{"line_number":39,"context_line":"    directly accessible by the users."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7f515b1d_8bf94dc9","line":38,"range":{"start_line":38,"start_character":4,"end_line":38,"end_character":6},"updated":"2017-10-08 01:17:19.000000000","message":"nit: s/it/is/","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"af7784440cd99b739bcdbed166e4296acded61f3","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  * If serial console is used, the conductor launches console processes"},{"line_number":37,"context_line":"    locally. If the nova-serialproxy service (part of the Compute service)"},{"line_number":38,"context_line":"    it used, it has to be able to reach them. Otherwise, they have to be"},{"line_number":39,"context_line":"    directly accessible by the users."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_d9b11c49","line":38,"range":{"start_line":38,"start_character":40,"end_line":38,"end_character":44},"updated":"2017-10-25 22:42:25.000000000","message":"nit: s/them/the conductor(s)./ ?","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  * If serial console is used, the conductor launches console processes"},{"line_number":37,"context_line":"    locally. If the nova-serialproxy service (part of the Compute service)"},{"line_number":38,"context_line":"    it used, it has to be able to reach them. Otherwise, they have to be"},{"line_number":39,"context_line":"    directly accessible by the users."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_683d542b","line":38,"range":{"start_line":38,"start_character":40,"end_line":38,"end_character":44},"in_reply_to":"3f4b6375_d9b11c49","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"af7784440cd99b739bcdbed166e4296acded61f3","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    it used, it has to be able to reach them. Otherwise, they have to be"},{"line_number":39,"context_line":"    directly accessible by the users."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"},{"line_number":42,"context_line":"    being deployed or cleaned. See Networking_ for details."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* The provisioning ramdisk which runs the ``ironic-python-agent`` service"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_99e5e43a","line":41,"range":{"start_line":41,"start_character":10,"end_line":41,"end_character":13},"updated":"2017-10-25 22:42:25.000000000","message":"nit: s/has/must/","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    it used, it has to be able to reach them. Otherwise, they have to be"},{"line_number":39,"context_line":"    directly accessible by the users."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  * There has to be mutual connectivity between the conductor and the nodes"},{"line_number":42,"context_line":"    being deployed or cleaned. See Networking_ for details."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* The provisioning ramdisk which runs the ``ironic-python-agent`` service"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_a8334c62","line":41,"range":{"start_line":41,"start_character":10,"end_line":41,"end_character":13},"in_reply_to":"3f4b6375_99e5e43a","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"af7784440cd99b739bcdbed166e4296acded61f3","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  on start up."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  .. warning::"},{"line_number":48,"context_line":"    The ``ironic-python-agent`` service is not intended to be used anywhere"},{"line_number":49,"context_line":"    other than a provisioning/cleaning ramdisk."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Hardware and drivers"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_b9c30089","line":48,"updated":"2017-10-25 22:42:25.000000000","message":"nit s/used/used or executed/","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  on start up."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  .. warning::"},{"line_number":48,"context_line":"    The ``ironic-python-agent`` service is not intended to be used anywhere"},{"line_number":49,"context_line":"    other than a provisioning/cleaning ramdisk."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Hardware and drivers"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_0844a0b6","line":48,"in_reply_to":"3f4b6375_b9c30089","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Alternatively, several vendors provide *virtual media* implementations of the"},{"line_number":105,"context_line":"boot interface. They work by pushing an ISO image to the node\u0027s `management"},{"line_number":106,"context_line":"controller`_, and do not require either PXE or iPXE. If such boot"},{"line_number":107,"context_line":"implementation is available for the hardware, it is recommended using it"},{"line_number":108,"context_line":"for better scalability and security.  Check your driver documentation at"},{"line_number":109,"context_line":":doc:`/admin/drivers` for details."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_72332fac","line":106,"range":{"start_line":106,"start_character":18,"end_line":106,"end_character":20},"updated":"2017-10-27 15:51:25.000000000","message":"Nit: does not","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Alternatively, several vendors provide *virtual media* implementations of the"},{"line_number":105,"context_line":"boot interface. They work by pushing an ISO image to the node\u0027s `management"},{"line_number":106,"context_line":"controller`_, and do not require either PXE or iPXE. If such boot"},{"line_number":107,"context_line":"implementation is available for the hardware, it is recommended using it"},{"line_number":108,"context_line":"for better scalability and security.  Check your driver documentation at"},{"line_number":109,"context_line":":doc:`/admin/drivers` for details."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_081dc0bc","line":106,"range":{"start_line":106,"start_character":18,"end_line":106,"end_character":20},"in_reply_to":"3f4b6375_72332fac","updated":"2017-10-30 16:20:09.000000000","message":"\"implementations... The work ... and do not require..\" seems okay to me, no?","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"af7784440cd99b739bcdbed166e4296acded61f3","unresolved":false,"context_lines":[{"line_number":115,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":116,"context_line":"``iscsi`` deploy method, most of the deployment operations happen on the"},{"line_number":117,"context_line":"conductor. If the Object Storage service (swift) or RadosGW is present in"},{"line_number":118,"context_line":"the cloud, it is recommended to use the ``direct`` deploy method for better"},{"line_number":119,"context_line":"scalability and reliability."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Hardware specifications"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_d9247c60","line":118,"range":{"start_line":118,"start_character":4,"end_line":118,"end_character":9},"updated":"2017-10-25 22:42:25.000000000","message":"nit: I would almost say environment or infrastucture, but I guess cloud works.","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":115,"context_line":":doc:`../enabling-drivers` for explanation of the difference. With the"},{"line_number":116,"context_line":"``iscsi`` deploy method, most of the deployment operations happen on the"},{"line_number":117,"context_line":"conductor. If the Object Storage service (swift) or RadosGW is present in"},{"line_number":118,"context_line":"the cloud, it is recommended to use the ``direct`` deploy method for better"},{"line_number":119,"context_line":"scalability and reliability."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Hardware specifications"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_a85a2c80","line":118,"range":{"start_line":118,"start_character":4,"end_line":118,"end_character":9},"in_reply_to":"3f4b6375_d9247c60","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":125,"context_line":"characteristics of hardware itself. However, keep in mind that"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* By default, the Bare Metal service will pick the smallest hard drive that"},{"line_number":128,"context_line":"  is large than 4 GiB for deployment. A smaller hard drive can be used, but"},{"line_number":129,"context_line":"  requires setting :ref:`root device hints \u003croot-device-hints\u003e`."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* The machines should have enough RAM to fit the deployment/cleaning ramdisk"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_52b4b3f1","line":128,"range":{"start_line":128,"start_character":37,"end_line":128,"end_character":58},"updated":"2017-10-27 15:51:25.000000000","message":"A smaller or different hard drive can be used...","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":125,"context_line":"characteristics of hardware itself. However, keep in mind that"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* By default, the Bare Metal service will pick the smallest hard drive that"},{"line_number":128,"context_line":"  is large than 4 GiB for deployment. A smaller hard drive can be used, but"},{"line_number":129,"context_line":"  requires setting :ref:`root device hints \u003croot-device-hints\u003e`."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* The machines should have enough RAM to fit the deployment/cleaning ramdisk"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_d2ee63eb","line":128,"range":{"start_line":128,"start_character":5,"end_line":128,"end_character":10},"updated":"2017-10-27 15:51:25.000000000","message":"s/large/larger","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":125,"context_line":"characteristics of hardware itself. However, keep in mind that"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* By default, the Bare Metal service will pick the smallest hard drive that"},{"line_number":128,"context_line":"  is large than 4 GiB for deployment. A smaller hard drive can be used, but"},{"line_number":129,"context_line":"  requires setting :ref:`root device hints \u003croot-device-hints\u003e`."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* The machines should have enough RAM to fit the deployment/cleaning ramdisk"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_68d9d4f2","line":128,"range":{"start_line":128,"start_character":5,"end_line":128,"end_character":10},"in_reply_to":"3f4b6375_d2ee63eb","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"af7784440cd99b739bcdbed166e4296acded61f3","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* By default, the Bare Metal service will pick the smallest hard drive that"},{"line_number":128,"context_line":"  is large than 4 GiB for deployment. A smaller hard drive can be used, but"},{"line_number":129,"context_line":"  requires setting :ref:`root device hints \u003croot-device-hints\u003e`."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* The machines should have enough RAM to fit the deployment/cleaning ramdisk"},{"line_number":132,"context_line":"  to run. The minimum varies greatly depending on the way the ramdisk was"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_79c34858","line":129,"updated":"2017-10-25 22:42:25.000000000","message":"Might be worth mentioning that it _might_ not be the actual bios boot device.","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"* By default, the Bare Metal service will pick the smallest hard drive that"},{"line_number":128,"context_line":"  is large than 4 GiB for deployment. A smaller hard drive can be used, but"},{"line_number":129,"context_line":"  requires setting :ref:`root device hints \u003croot-device-hints\u003e`."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* The machines should have enough RAM to fit the deployment/cleaning ramdisk"},{"line_number":132,"context_line":"  to run. The minimum varies greatly depending on the way the ramdisk was"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_a89d8c0b","line":129,"in_reply_to":"3f4b6375_79c34858","updated":"2017-10-30 16:20:09.000000000","message":"Hmm, I\u0027ll try","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"The Bare Metal service can deploy two types of images:"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"* *Whole-disk* images contain a complete partitioning table with all necessary"},{"line_number":143,"context_line":"  partitions. Such images are the most universal, but may be harder to build."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"* *Partition images* contain only the root partition. The Bare Metal service"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_f2ccbf89","line":142,"range":{"start_line":142,"start_character":15,"end_line":142,"end_character":29},"updated":"2017-10-27 15:51:25.000000000","message":"images which contain...","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"The Bare Metal service can deploy two types of images:"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"* *Whole-disk* images contain a complete partitioning table with all necessary"},{"line_number":143,"context_line":"  partitions. Such images are the most universal, but may be harder to build."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"* *Partition images* contain only the root partition. The Bare Metal service"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_88a2d04a","line":142,"range":{"start_line":142,"start_character":15,"end_line":142,"end_character":29},"in_reply_to":"3f4b6375_f2ccbf89","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":140,"context_line":"The Bare Metal service can deploy two types of images:"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"* *Whole-disk* images contain a complete partitioning table with all necessary"},{"line_number":143,"context_line":"  partitions. Such images are the most universal, but may be harder to build."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"* *Partition images* contain only the root partition. The Bare Metal service"},{"line_number":146,"context_line":"  will create the necessary partitions and install a boot loader, if needed."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_b2708741","line":143,"range":{"start_line":143,"start_character":2,"end_line":143,"end_character":13},"updated":"2017-10-27 15:51:25.000000000","message":"partitions and a bootloader?","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":140,"context_line":"The Bare Metal service can deploy two types of images:"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"* *Whole-disk* images contain a complete partitioning table with all necessary"},{"line_number":143,"context_line":"  partitions. Such images are the most universal, but may be harder to build."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"* *Partition images* contain only the root partition. The Bare Metal service"},{"line_number":146,"context_line":"  will create the necessary partitions and install a boot loader, if needed."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_68b0b48c","line":143,"range":{"start_line":143,"start_character":2,"end_line":143,"end_character":13},"in_reply_to":"3f4b6375_b2708741","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":142,"context_line":"* *Whole-disk* images contain a complete partitioning table with all necessary"},{"line_number":143,"context_line":"  partitions. Such images are the most universal, but may be harder to build."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"* *Partition images* contain only the root partition. The Bare Metal service"},{"line_number":146,"context_line":"  will create the necessary partitions and install a boot loader, if needed."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  .. warning::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_92a34bb2","line":145,"range":{"start_line":145,"start_character":21,"end_line":145,"end_character":28},"updated":"2017-10-27 15:51:25.000000000","message":"that contain","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":142,"context_line":"* *Whole-disk* images contain a complete partitioning table with all necessary"},{"line_number":143,"context_line":"  partitions. Such images are the most universal, but may be harder to build."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"* *Partition images* contain only the root partition. The Bare Metal service"},{"line_number":146,"context_line":"  will create the necessary partitions and install a boot loader, if needed."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  .. warning::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_48adf82f","line":145,"range":{"start_line":145,"start_character":21,"end_line":145,"end_character":28},"in_reply_to":"3f4b6375_92a34bb2","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":143,"context_line":"  partitions. Such images are the most universal, but may be harder to build."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"* *Partition images* contain only the root partition. The Bare Metal service"},{"line_number":146,"context_line":"  will create the necessary partitions and install a boot loader, if needed."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  .. warning::"},{"line_number":149,"context_line":"    Partition images are only supported with GNU/Linux operating systems,"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_32ac979d","line":146,"range":{"start_line":146,"start_character":64,"end_line":146,"end_character":76},"updated":"2017-10-27 15:51:25.000000000","message":"Should we mention that partition images normally have the initrd and kernel provided separately too??","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":143,"context_line":"  partitions. Such images are the most universal, but may be harder to build."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"* *Partition images* contain only the root partition. The Bare Metal service"},{"line_number":146,"context_line":"  will create the necessary partitions and install a boot loader, if needed."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  .. warning::"},{"line_number":149,"context_line":"    Partition images are only supported with GNU/Linux operating systems,"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_c866882a","line":146,"range":{"start_line":146,"start_character":64,"end_line":146,"end_character":76},"in_reply_to":"3f4b6375_32ac979d","updated":"2017-10-30 16:20:09.000000000","message":"Seems a technical detail to me - the kernel and ramdisk pair can always be extracted. Or do you think about cases when there is no kernel and ramdisk on the root partition?","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  .. warning::"},{"line_number":149,"context_line":"    Partition images are only supported with GNU/Linux operating systems,"},{"line_number":150,"context_line":"    and requires the GRUB2 bootloader to be present on the root image."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Local vs network boot"},{"line_number":153,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_329a5761","line":150,"range":{"start_line":150,"start_character":21,"end_line":150,"end_character":70},"updated":"2017-10-27 15:51:25.000000000","message":"maybe:\n\n\n... GRUB2 bootloader tools be installed in the root image.\n\n\ncurrent wording makes it sound like the bootloader is setup in the image like it would be for a whole disk image. WDYT?","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"  .. warning::"},{"line_number":149,"context_line":"    Partition images are only supported with GNU/Linux operating systems,"},{"line_number":150,"context_line":"    and requires the GRUB2 bootloader to be present on the root image."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Local vs network boot"},{"line_number":153,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_883e50d8","line":150,"range":{"start_line":150,"start_character":21,"end_line":150,"end_character":70},"in_reply_to":"3f4b6375_329a5761","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"af7784440cd99b739bcdbed166e4296acded61f3","unresolved":false,"context_lines":[{"line_number":166,"context_line":"  managing it. Thus, nodes are able to reboot correctly, even if the Bare Metal"},{"line_number":167,"context_line":"  TFTP or HTTP service is down."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"* Network boot (and iPXE) must be used when booting nodes from remote volumes."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"The default boot option for the cloud can be changed via the Bare Metal service"},{"line_number":172,"context_line":"configuration file, for example:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_59e08ccd","line":169,"range":{"start_line":169,"start_character":63,"end_line":169,"end_character":78},"updated":"2017-10-25 22:42:25.000000000","message":"Unless the driver has support to control the HBA to attach the volume.... but I don\u0027t have a good way to word it.","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":166,"context_line":"  managing it. Thus, nodes are able to reboot correctly, even if the Bare Metal"},{"line_number":167,"context_line":"  TFTP or HTTP service is down."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"* Network boot (and iPXE) must be used when booting nodes from remote volumes."},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"The default boot option for the cloud can be changed via the Bare Metal service"},{"line_number":172,"context_line":"configuration file, for example:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_e8182485","line":169,"range":{"start_line":169,"start_character":63,"end_line":169,"end_character":78},"in_reply_to":"3f4b6375_59e08ccd","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"* There has to be a *cleaning* network, which is used by nodes during"},{"line_number":198,"context_line":"  the cleaning process. In the majority of cases, the same network should"},{"line_number":199,"context_line":"  be used as cleaning and provisioning for simplicity."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_2df43cf0","line":199,"range":{"start_line":199,"start_character":10,"end_line":199,"end_character":12},"updated":"2017-10-27 15:51:25.000000000","message":"s/as/for","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":"* There has to be a *cleaning* network, which is used by nodes during"},{"line_number":198,"context_line":"  the cleaning process. In the majority of cases, the same network should"},{"line_number":199,"context_line":"  be used as cleaning and provisioning for simplicity."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":202,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_88177052","line":199,"range":{"start_line":199,"start_character":10,"end_line":199,"end_character":12},"in_reply_to":"3f4b6375_2df43cf0","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":198,"context_line":"  the cleaning process. In the majority of cases, the same network should"},{"line_number":199,"context_line":"  be used as cleaning and provisioning for simplicity."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"* The baremetal nodes have to have access to the Bare Metal API while connected"},{"line_number":204,"context_line":"  to the provisioning/cleaning network."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_ed1e240a","line":201,"range":{"start_line":201,"start_character":2,"end_line":201,"end_character":78},"updated":"2017-10-27 15:51:25.000000000","message":"This line is over-indented so its appearing as part of the bullet point above it","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":198,"context_line":"  the cleaning process. In the majority of cases, the same network should"},{"line_number":199,"context_line":"  be used as cleaning and provisioning for simplicity."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"* The baremetal nodes have to have access to the Bare Metal API while connected"},{"line_number":204,"context_line":"  to the provisioning/cleaning network."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_08038011","line":201,"range":{"start_line":201,"start_character":2,"end_line":201,"end_character":78},"in_reply_to":"3f4b6375_ed1e240a","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"af7784440cd99b739bcdbed166e4296acded61f3","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"* The baremetal nodes have to have access to the Bare Metal API while connected"},{"line_number":204,"context_line":"  to the provisioning/cleaning network."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_f901786b","line":203,"range":{"start_line":203,"start_character":21,"end_line":203,"end_character":22},"updated":"2017-10-25 22:42:25.000000000","message":"nit: might be good to say \"must have\"","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"  Unless noted otherwise, everything in these sections apply to both networks."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"* The baremetal nodes have to have access to the Bare Metal API while connected"},{"line_number":204,"context_line":"  to the provisioning/cleaning network."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_c3078918","line":203,"range":{"start_line":203,"start_character":21,"end_line":203,"end_character":22},"in_reply_to":"3f4b6375_f901786b","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":204,"context_line":"  to the provisioning/cleaning network."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"  .. note::"},{"line_number":207,"context_line":"      Actually, only two endpoints need to be exposed there::"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        GET /v1/lookup"},{"line_number":210,"context_line":"        POST /v1/heartbeat/[a-z0-9\\-]+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_6dd8f451","line":207,"range":{"start_line":207,"start_character":6,"end_line":207,"end_character":15},"updated":"2017-10-27 15:51:25.000000000","message":"not sure the \"Actually,\" part, could change it to just \"Only two API endpoints\"","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":204,"context_line":"  to the provisioning/cleaning network."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"  .. note::"},{"line_number":207,"context_line":"      Actually, only two endpoints need to be exposed there::"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        GET /v1/lookup"},{"line_number":210,"context_line":"        POST /v1/heartbeat/[a-z0-9\\-]+"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_431b9972","line":207,"range":{"start_line":207,"start_character":6,"end_line":207,"end_character":15},"in_reply_to":"3f4b6375_6dd8f451","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"4cb45c13fbfe209acd3d86e12c1492cc4570fdf1","unresolved":false,"context_lines":[{"line_number":222,"context_line":"      handle it automatically. Check the networking documentation for the"},{"line_number":223,"context_line":"      specific architecture."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"* The Baremetal nodes need to have access to any services required for"},{"line_number":226,"context_line":"  provisioning/cleaning, while connected to the provisioning/cleaning network."},{"line_number":227,"context_line":"  This may include:"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"7f515b1d_7e6a4381","line":225,"range":{"start_line":225,"start_character":56,"end_line":225,"end_character":57},"updated":"2017-10-09 09:05:28.000000000","message":"nit: s/services/service/","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":222,"context_line":"      handle it automatically. Check the networking documentation for the"},{"line_number":223,"context_line":"      specific architecture."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"* The Baremetal nodes need to have access to any services required for"},{"line_number":226,"context_line":"  provisioning/cleaning, while connected to the provisioning/cleaning network."},{"line_number":227,"context_line":"  This may include:"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_833ab1ca","line":225,"range":{"start_line":225,"start_character":56,"end_line":225,"end_character":57},"in_reply_to":"7f515b1d_7e6a4381","updated":"2017-10-30 16:20:09.000000000","message":"There may be several of them, e.g. TFTP, HTTP and Swift in case of direct deploy over iPXE\u003e","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":230,"context_line":"  * either an HTTP server or the Object Storage service in case of the"},{"line_number":231,"context_line":"    ``direct`` deploy interface and some virtual media boot interfaces"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"* The Baremetal Conductor needs to have access to the booted baremetal nodes"},{"line_number":234,"context_line":"  during provisioning/cleaning. The conductor communicates with an internal"},{"line_number":235,"context_line":"  API, provided by **ironic-python-agent**, to conduct actions on nodes."},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_2db79cf7","line":233,"range":{"start_line":233,"start_character":16,"end_line":233,"end_character":25},"updated":"2017-10-27 15:51:25.000000000","message":"Conductors","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":230,"context_line":"  * either an HTTP server or the Object Storage service in case of the"},{"line_number":231,"context_line":"    ``direct`` deploy interface and some virtual media boot interfaces"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"* The Baremetal Conductor needs to have access to the booted baremetal nodes"},{"line_number":234,"context_line":"  during provisioning/cleaning. The conductor communicates with an internal"},{"line_number":235,"context_line":"  API, provided by **ironic-python-agent**, to conduct actions on nodes."},{"line_number":236,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_6337b5e5","line":233,"range":{"start_line":233,"start_character":16,"end_line":233,"end_character":25},"in_reply_to":"3f4b6375_2db79cf7","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"4cb45c13fbfe209acd3d86e12c1492cc4570fdf1","unresolved":false,"context_lines":[{"line_number":244,"context_line":"horizontally. It is recommended to deploy it as a WSGI application behind e.g."},{"line_number":245,"context_line":"Apache or another WSGI container."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Note, that this service accesses the ironic database for reading entities"},{"line_number":248,"context_line":"(e.g. in response to ``GET /v1/nodes`` request) and in rare cases for writing."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"ironic-conductor"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7f515b1d_3e63ab44","line":247,"range":{"start_line":247,"start_character":0,"end_line":247,"end_character":10},"updated":"2017-10-09 09:05:28.000000000","message":"nit: s/Note, that/Note that/","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":244,"context_line":"horizontally. It is recommended to deploy it as a WSGI application behind e.g."},{"line_number":245,"context_line":"Apache or another WSGI container."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Note, that this service accesses the ironic database for reading entities"},{"line_number":248,"context_line":"(e.g. in response to ``GET /v1/nodes`` request) and in rare cases for writing."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"ironic-conductor"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_a35a4d27","line":247,"range":{"start_line":247,"start_character":0,"end_line":247,"end_character":10},"in_reply_to":"3f4b6375_6da6b4c3","updated":"2017-10-30 16:20:09.000000000","message":"Done","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"12e6ee44ef4336dfd99a93277f2137da994ae45f","unresolved":false,"context_lines":[{"line_number":244,"context_line":"horizontally. It is recommended to deploy it as a WSGI application behind e.g."},{"line_number":245,"context_line":"Apache or another WSGI container."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Note, that this service accesses the ironic database for reading entities"},{"line_number":248,"context_line":"(e.g. in response to ``GET /v1/nodes`` request) and in rare cases for writing."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"ironic-conductor"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_6da6b4c3","line":247,"range":{"start_line":247,"start_character":0,"end_line":247,"end_character":10},"in_reply_to":"7f515b1d_3e63ab44","updated":"2017-10-27 15:51:25.000000000","message":"Maybe could make this a .. note:: ??","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"af7784440cd99b739bcdbed166e4296acded61f3","unresolved":false,"context_lines":[{"line_number":281,"context_line":"We recommend a target of **100** bare metal nodes per conductor for maximum"},{"line_number":282,"context_line":"reliability and performance. There is some tolerance for a larger number per"},{"line_number":283,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"},{"line_number":284,"context_line":"handling approximately 300 bare metal nodes per conductor."},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Disk space"},{"line_number":287,"context_line":"^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_794228ad","line":284,"updated":"2017-10-25 22:42:25.000000000","message":"is it worth highlighting that this limitation is largely due to power state sync?","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"710cb92da2e1d8f174ffb22f4166d9baff4dc3de","unresolved":false,"context_lines":[{"line_number":281,"context_line":"We recommend a target of **100** bare metal nodes per conductor for maximum"},{"line_number":282,"context_line":"reliability and performance. There is some tolerance for a larger number per"},{"line_number":283,"context_line":"conductor. However, it was reported [1]_ [2]_ that reliability degrades when"},{"line_number":284,"context_line":"handling approximately 300 bare metal nodes per conductor."},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Disk space"},{"line_number":287,"context_line":"^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3f4b6375_e39e05b7","line":284,"in_reply_to":"3f4b6375_794228ad","updated":"2017-10-30 16:20:09.000000000","message":"I don\u0027t think I have enough data to claim this, to be honest..","commit_id":"d16a205acc0f8a8035837ec596e02650768a96a4"}],"doc/source/install/refarch/index.rst":[{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Reference Architectures"},{"line_number":2,"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":3,"context_line":""},{"line_number":4,"context_line":"This section covers the way we recommend the Bare Metal service to be deployed"},{"line_number":5,"context_line":"and operated. It is assumed that a reader has already gone through"},{"line_number":6,"context_line":":doc:`/user/index`."},{"line_number":7,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_376f9393","line":4,"range":{"start_line":4,"start_character":64,"end_line":4,"end_character":66},"updated":"2017-08-01 13:18:12.000000000","message":"s/to//","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"7a3c9ee1f867ab0e5359e520bc6ba054fb8902f3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Reference Architectures"},{"line_number":2,"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":3,"context_line":""},{"line_number":4,"context_line":"This section covers the way we recommend the Bare Metal service to be deployed"},{"line_number":5,"context_line":"and operated. It is assumed that a reader has already gone through"},{"line_number":6,"context_line":":doc:`/user/index`."},{"line_number":7,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_57745768","line":4,"range":{"start_line":4,"start_character":24,"end_line":4,"end_character":27},"updated":"2017-08-01 13:18:12.000000000","message":"s/way/ways","commit_id":"5840f00451b8ca2bef242a307f479c9f851c709b"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"82c05d9725138d9e787b0728025f51fedb53ce1a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Reference Architectures"},{"line_number":2,"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":3,"context_line":""},{"line_number":4,"context_line":"This section covers the way we recommend the Bare Metal service to be deployed"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_591c6911","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":23},"updated":"2017-08-02 11:19:02.000000000","message":"Reference Deploy Architectures\n\n(we already have documentation on ironic\u0027s architecture.)","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2ecc7a8796d55604cf05295df426242cadca7fcb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Reference Architectures"},{"line_number":2,"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":3,"context_line":""},{"line_number":4,"context_line":"This section covers the way we recommend the Bare Metal service to be deployed"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df3967d1_28d9fb55","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":23},"in_reply_to":"df3967d1_591c6911","updated":"2017-08-04 14:38:16.000000000","message":"Done","commit_id":"9330e2e9ff29156b44652bc1fc18ae431ab96fa8"},{"author":{"_account_id":19072,"name":"Xavier","email":"marcusrafael@lsd.ufcg.edu.br","username":"marcusrafael"},"change_message_id":"3f570db0c631a846958d78ddac5c0ee387e1eb5f","unresolved":false,"context_lines":[{"line_number":2,"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"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This section covers the way we recommend the Bare Metal service to be deployed"},{"line_number":5,"context_line":"and operated. It is assumed that a reader has already gone through"},{"line_number":6,"context_line":":doc:`/user/index`."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":".. toctree::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_2a5c054a","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":12},"updated":"2017-08-08 15:06:29.000000000","message":"Did we answered this? (:","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":2,"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"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This section covers the way we recommend the Bare Metal service to be deployed"},{"line_number":5,"context_line":"and operated. It is assumed that a reader has already gone through"},{"line_number":6,"context_line":":doc:`/user/index`."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":".. toctree::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_609572e4","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":12},"in_reply_to":"9f436f4f_2a5c054a","updated":"2017-08-09 12:27:06.000000000","message":"s/operated/managed/?","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e20dc1ba375bd11488bc50a3b7042bedd1bbacd0","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This section covers the way we recommend the Bare Metal service to be deployed"},{"line_number":5,"context_line":"and operated. It is assumed that a reader has already gone through"},{"line_number":6,"context_line":":doc:`/user/index`."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":".. toctree::"},{"line_number":9,"context_line":"   :maxdepth: 2"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9f436f4f_dd276512","line":6,"updated":"2017-08-09 12:27:06.000000000","message":"I\u0027d almost suggest that users consider deploying devstack and play with VMs first to get some of the concepts before trying to really grasp architecture. The doc feels written from that standpoint where someone might have some of the tabs context and they are now trying to figure things out further.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"f0946c3ab396bcc27371ce3fc37895f8cb8afc0e","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This section covers the way we recommend the Bare Metal service to be deployed"},{"line_number":5,"context_line":"and operated. It is assumed that a reader has already gone through"},{"line_number":6,"context_line":":doc:`/user/index`."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":".. toctree::"},{"line_number":9,"context_line":"   :maxdepth: 2"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f287b81_a13b64cf","line":6,"in_reply_to":"9f436f4f_dd276512","updated":"2017-08-23 10:43:27.000000000","message":"right, this is the reference guide for people wanting to know how the Ironic project officially recommends Ironic is deployed in production based on different use cases.","commit_id":"1cc5fa1e93982d62fb03a95b92f21d450678d0f2"}]}
