)]}'
{"doc/source/install/refarch/datacenter-hardware-management.rst":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"0635f6b6b15cb55cffaddddfb44cb79397ff7ec4","unresolved":false,"context_lines":[{"line_number":134,"context_line":"-----------"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"A *controller* in this context is a node that hosts the ``ironic-api``,"},{"line_number":137,"context_line":"``ironic-conductor`` and the Authentication servie (if desired). "},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"This can be a *controller* that is part of a larger OpenStack deployment"},{"line_number":140,"context_line":"that has been deployed in alignment with the `control plane design guide`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_9d43be11","line":137,"range":{"start_line":137,"start_character":29,"end_line":137,"end_character":43},"updated":"2018-07-27 17:06:09.000000000","message":"Identity","commit_id":"627cddce814441aeccc9ffb12a20cd681ba6baf9"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"0635f6b6b15cb55cffaddddfb44cb79397ff7ec4","unresolved":false,"context_lines":[{"line_number":134,"context_line":"-----------"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"A *controller* in this context is a node that hosts the ``ironic-api``,"},{"line_number":137,"context_line":"``ironic-conductor`` and the Authentication servie (if desired). "},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"This can be a *controller* that is part of a larger OpenStack deployment"},{"line_number":140,"context_line":"that has been deployed in alignment with the `control plane design guide`_"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_5d49a62c","line":137,"range":{"start_line":137,"start_character":44,"end_line":137,"end_character":50},"updated":"2018-07-27 17:06:09.000000000","message":"Service, surprising spell check didn\u0027t spot that. :\\","commit_id":"627cddce814441aeccc9ffb12a20cd681ba6baf9"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"50d74baad1c92d4d6588c4d5b9ff84d24bf3dfd6","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* A *controller* node hosts the control plane services."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The *controller* nodes host the Bare Metal service components."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Networking"},{"line_number":43,"context_line":"----------"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_43819b9f","line":41,"updated":"2018-07-31 05:06:36.000000000","message":"Only one type is listed here, is there a TODO missing,\nor this document just describes all-in-one case?","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7c690bb0c8109253d9d59a0eb9f351f1d5ef465e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* A *controller* node hosts the control plane services."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The *controller* nodes host the Bare Metal service components."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Networking"},{"line_number":43,"context_line":"----------"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_6776a309","line":41,"in_reply_to":"5f7c97a3_43819b9f","updated":"2018-08-07 19:33:54.000000000","message":"Revised. Kind of trying to leave it somewhat up to operator imagination.","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"50d74baad1c92d4d6588c4d5b9ff84d24bf3dfd6","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":57,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"},{"line_number":58,"context_line":"*ports* in ironic terminology."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"If there is any desire to allocate network interfaces to specific virtual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_a3474f7a","line":57,"range":{"start_line":57,"start_character":25,"end_line":57,"end_character":68},"updated":"2018-07-31 05:06:36.000000000","message":"This reminds me the pxe_enabled flag, it would be best if ironic doesn\u0027t use the port with pxe_enabled\u003dFalse in whatever cases, E.g.: picking port during vif attach, or creating pxe config files before boot.","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7c690bb0c8109253d9d59a0eb9f351f1d5ef465e","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":57,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"},{"line_number":58,"context_line":"*ports* in ironic terminology."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"If there is any desire to allocate network interfaces to specific virtual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_a7559b52","line":57,"range":{"start_line":57,"start_character":25,"end_line":57,"end_character":68},"in_reply_to":"5f7c97a3_a3474f7a","updated":"2018-08-07 19:33:54.000000000","message":"Great point, we should point out pxe_enabled.\n\nAdding a warning note to delineate","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"50d74baad1c92d4d6588c4d5b9ff84d24bf3dfd6","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Bare metal nodes *can* be statically attached to other networks,"},{"line_number":73,"context_line":"however this increases operational deployment time depending on network"},{"line_number":74,"context_line":"interface boot order, and additional brings additional risk where the"},{"line_number":75,"context_line":"Deployment Ramdisk used to write Operating System images to the local"},{"line_number":76,"context_line":"storage and wipe the local storage contents after deployment becomes"},{"line_number":77,"context_line":"a potential point of exposure."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_163763e6","line":74,"range":{"start_line":74,"start_character":26,"end_line":74,"end_character":36},"updated":"2018-07-31 05:06:36.000000000","message":"I guess it\u0027s \"additionally\" here.","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7c690bb0c8109253d9d59a0eb9f351f1d5ef465e","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Bare metal nodes *can* be statically attached to other networks,"},{"line_number":73,"context_line":"however this increases operational deployment time depending on network"},{"line_number":74,"context_line":"interface boot order, and additional brings additional risk where the"},{"line_number":75,"context_line":"Deployment Ramdisk used to write Operating System images to the local"},{"line_number":76,"context_line":"storage and wipe the local storage contents after deployment becomes"},{"line_number":77,"context_line":"a potential point of exposure."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_87565f29","line":74,"range":{"start_line":74,"start_character":26,"end_line":74,"end_character":36},"in_reply_to":"5f7c97a3_163763e6","updated":"2018-08-07 19:33:54.000000000","message":"Done","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"50d74baad1c92d4d6588c4d5b9ff84d24bf3dfd6","unresolved":false,"context_lines":[{"line_number":105,"context_line":"be able to supply sufficent configuration to boot the node and supply the"},{"line_number":106,"context_line":"URL to reach an ``ironic-api`` API endpoint. For users with iPXE, the same"},{"line_number":107,"context_line":"applies, although in those cases it would be whatever node hosts the HTTP"},{"line_number":108,"context_line":"URL hosting ``/httpboot``."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. NOTE:: The Bare Metal as a Service team recommends the use if iPXE where"},{"line_number":111,"context_line":"          possible as it provides the greatest amount of operator flexibility"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_76efb71b","line":108,"updated":"2018-07-31 05:06:36.000000000","message":"Things like /tftpboot is configurable, and this is a general guide, I think it\u0027s a bit too specific to reference the default value here. Maybe tftp root?","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7c690bb0c8109253d9d59a0eb9f351f1d5ef465e","unresolved":false,"context_lines":[{"line_number":105,"context_line":"be able to supply sufficent configuration to boot the node and supply the"},{"line_number":106,"context_line":"URL to reach an ``ironic-api`` API endpoint. For users with iPXE, the same"},{"line_number":107,"context_line":"applies, although in those cases it would be whatever node hosts the HTTP"},{"line_number":108,"context_line":"URL hosting ``/httpboot``."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. NOTE:: The Bare Metal as a Service team recommends the use if iPXE where"},{"line_number":111,"context_line":"          possible as it provides the greatest amount of operator flexibility"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_e7139365","line":108,"in_reply_to":"5f7c97a3_76efb71b","updated":"2018-08-07 19:33:54.000000000","message":"In my experience, it is not as configurable as it should be, but it depends on the actual server. Worth noting that way and maybe stating \"typically\"","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"50d74baad1c92d4d6588c4d5b9ff84d24bf3dfd6","unresolved":false,"context_lines":[{"line_number":134,"context_line":"-----------"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"A *controller* in this context is a node that hosts the ``ironic-api``,"},{"line_number":137,"context_line":"``ironic-conductor`` and the Identity servie (if desired)."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"This can be a *controller* that is part of a larger OpenStack deployment"},{"line_number":140,"context_line":"that has been deployed in alignment with the `control plane design guide`_"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_396cd09b","line":137,"range":{"start_line":137,"start_character":1,"end_line":137,"end_character":20},"updated":"2018-07-31 05:06:36.000000000","message":"I don\u0027t know if there are use cases where the ironic conductor is running at controller node, this seems contradicting with active/active mode when HA is adopted for controller node.","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7c690bb0c8109253d9d59a0eb9f351f1d5ef465e","unresolved":false,"context_lines":[{"line_number":134,"context_line":"-----------"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"A *controller* in this context is a node that hosts the ``ironic-api``,"},{"line_number":137,"context_line":"``ironic-conductor`` and the Identity servie (if desired)."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"This can be a *controller* that is part of a larger OpenStack deployment"},{"line_number":140,"context_line":"that has been deployed in alignment with the `control plane design guide`_"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_8a566629","line":137,"range":{"start_line":137,"start_character":1,"end_line":137,"end_character":20},"in_reply_to":"5f7c97a3_396cd09b","updated":"2018-08-07 19:33:54.000000000","message":"Well, there is standalone, but my hope is to kind of convey that it can be N+1 as well. I\u0027m going to rewords this some.","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"50d74baad1c92d4d6588c4d5b9ff84d24bf3dfd6","unresolved":false,"context_lines":[{"line_number":182,"context_line":"  .. NOTE::"},{"line_number":183,"context_line":"    This plugin does not facilitate automation of switch port interfaces on"},{"line_number":184,"context_line":"    individual switches in a Date Center. For that functionality, a vendor"},{"line_number":185,"context_line":"    specific ML2 plugin is required."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"* If the Bare Metal introspection is used, its ``ironic-inspector`` process"},{"line_number":188,"context_line":"  has to be installed on all *controllers*. Each such process works as both"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_f9bdf8d0","line":185,"updated":"2018-07-31 05:06:36.000000000","message":"we have some switch support from networking-genericswitch, maybe we can spread several words here.\n\nI recall there is a proposal to merely use openvswitch for vlan switch, which could utilize security group supplied by neutron network, that also alleviate the needs to control a real switch, especially the switch is not supported by ngs drivers.","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7c690bb0c8109253d9d59a0eb9f351f1d5ef465e","unresolved":false,"context_lines":[{"line_number":182,"context_line":"  .. NOTE::"},{"line_number":183,"context_line":"    This plugin does not facilitate automation of switch port interfaces on"},{"line_number":184,"context_line":"    individual switches in a Date Center. For that functionality, a vendor"},{"line_number":185,"context_line":"    specific ML2 plugin is required."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"* If the Bare Metal introspection is used, its ``ironic-inspector`` process"},{"line_number":188,"context_line":"  has to be installed on all *controllers*. Each such process works as both"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_a53b53cf","line":185,"in_reply_to":"5f7c97a3_f9bdf8d0","updated":"2018-08-07 19:33:54.000000000","message":"Well, I suspect it doesn\u0027t alleviate the need, as much as it allows for static configuration.","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"50d74baad1c92d4d6588c4d5b9ff84d24bf3dfd6","unresolved":false,"context_lines":[{"line_number":188,"context_line":"  has to be installed on all *controllers*. Each such process works as both"},{"line_number":189,"context_line":"  Bare Metal Introspection API and conductor service. A load balancer should"},{"line_number":190,"context_line":"  be used to spread the API load between *controllers*."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"  The API has to be served on the *control plane network*. Additionally,"},{"line_number":193,"context_line":"  it has to be exposed to the *bare metal network* for the ramdisk callback"},{"line_number":194,"context_line":"  API."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f7c97a3_597bcc29","line":191,"updated":"2018-07-31 05:06:36.000000000","message":"I doubt it works, from the result of introducing more processes to werkzeug[1], we have to separate api and worker, before it can be used in an HA environment.\n\n[1] https://review.openstack.org/#/c/540722/","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7c690bb0c8109253d9d59a0eb9f351f1d5ef465e","unresolved":false,"context_lines":[{"line_number":188,"context_line":"  has to be installed on all *controllers*. Each such process works as both"},{"line_number":189,"context_line":"  Bare Metal Introspection API and conductor service. A load balancer should"},{"line_number":190,"context_line":"  be used to spread the API load between *controllers*."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"  The API has to be served on the *control plane network*. Additionally,"},{"line_number":193,"context_line":"  it has to be exposed to the *bare metal network* for the ramdisk callback"},{"line_number":194,"context_line":"  API."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_c51e8f0b","line":191,"in_reply_to":"5f7c97a3_597bcc29","updated":"2018-08-07 19:33:54.000000000","message":"Our QE people seem happy with it minimally working for now, but it definitely needs more work.","commit_id":"f6157b9c8e3543c6440dd7fa7d254ac17b5bd40a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"It must be stressed that without the `Compute service`_, management of"},{"line_number":29,"context_line":"the provisioning of bare metal nodes must be performed by the operator using"},{"line_number":30,"context_line":"command, Ansible Playbooks, Rest API calls, or other mechanisms."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Node roles"},{"line_number":33,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_e7b32f09","line":30,"updated":"2018-08-11 13:43:21.000000000","message":"nit: REST","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* A *controller* node hosts the control plane services."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* A *bare metal* node which is controlled by the Bare Metal service"},{"line_number":41,"context_line":"  components."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Networking"},{"line_number":44,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_07b98be7","line":41,"updated":"2018-08-11 13:43:21.000000000","message":"This is not part of the installation of OpenStack, let\u0027s not add it (we do not have it in the first refarch).","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* A *controller* node hosts the control plane services."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* A *bare metal* node which is controlled by the Bare Metal service"},{"line_number":41,"context_line":"  components."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Networking"},{"line_number":44,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_b71057aa","line":41,"in_reply_to":"3f79a3b5_07b98be7","updated":"2020-11-30 23:31:38.000000000","message":"I guess if we don\u0027t call it out, how does one assemble it in their mind to comprehend how this all works?","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":58,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"},{"line_number":59,"context_line":"*ports* in ironic terminology."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":".. warning::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a7d1b725","line":58,"updated":"2018-08-11 13:43:21.000000000","message":"s/Ironic/the Bare Metal service/","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":58,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"},{"line_number":59,"context_line":"*ports* in ironic terminology."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":".. warning::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_975bdb85","line":58,"in_reply_to":"3f79a3b5_a7d1b725","updated":"2020-11-30 23:31:38.000000000","message":"I hate we do this at this level as it seems like on an admin side, ironic is the only thing this could ever apply to with our docs.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":58,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"},{"line_number":59,"context_line":"*ports* in ironic terminology."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":".. warning::"},{"line_number":62,"context_line":"   *Ports* have a ``pxe_enabled`` flag, which governs if the port is available"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_c7ce3381","line":59,"updated":"2018-08-11 13:43:21.000000000","message":"nit: Port is not only a MAC address, but this is fine for this document.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":58,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"},{"line_number":59,"context_line":"*ports* in ironic terminology."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":".. warning::"},{"line_number":62,"context_line":"   *Ports* have a ``pxe_enabled`` flag, which governs if the port is available"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_b75e1774","line":59,"in_reply_to":"3f79a3b5_c7ce3381","updated":"2020-11-30 23:31:38.000000000","message":"true.  I\u0027ll try rewording","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":62,"context_line":"   *Ports* have a ``pxe_enabled`` flag, which governs if the port is available"},{"line_number":63,"context_line":"   for PXE booting in order to distribute or offload deployments to separate"},{"line_number":64,"context_line":"   network infrastructures. These ports are available to be used for"},{"line_number":65,"context_line":"   *vif* (short for Virtual InterFace) attachments."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"If there is any desire to allocate network interfaces to specific virtual"},{"line_number":68,"context_line":"networks, then the `Networking service`_ integration will be required. In"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_67c71f66","line":65,"updated":"2018-08-11 13:43:21.000000000","message":"nit: VIF? Also we can attach ports with pxe_enabled\u003dFalse to VIFs, but not for deployment. I\u0027m not sure what you\u0027re trying to say here.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":62,"context_line":"   *Ports* have a ``pxe_enabled`` flag, which governs if the port is available"},{"line_number":63,"context_line":"   for PXE booting in order to distribute or offload deployments to separate"},{"line_number":64,"context_line":"   network infrastructures. These ports are available to be used for"},{"line_number":65,"context_line":"   *vif* (short for Virtual InterFace) attachments."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"If there is any desire to allocate network interfaces to specific virtual"},{"line_number":68,"context_line":"networks, then the `Networking service`_ integration will be required. In"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_b7ecd78f","line":65,"in_reply_to":"3f79a3b5_67c71f66","updated":"2020-11-30 23:31:38.000000000","message":"Trying to point out that one can have dedicated pxe networks and data networks...","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"If there is any desire to allocate network interfaces to specific virtual"},{"line_number":68,"context_line":"networks, then the `Networking service`_ integration will be required. In"},{"line_number":69,"context_line":"such a case, all *ports* must be known by ironic."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. TODO(TheJulia): a nice picture (or three) to illustrate the layout"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_87c4bb60","line":69,"updated":"2018-08-11 13:43:21.000000000","message":"I think this sentence is confusing. First, the user-friendly version will be \"In such a case, all NICs of a node must be enrolled as *ports* in the Bare Metal service\". However, \"all\" is a bit strong word, people may still want to manage some NICs via Ironic/Neutron, some - independently (think, public network not managed by openstack).\n\nUpdate: I feel like this all is repeated below. Maybe drop from here?","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Bare metal nodes *can* be statically attached to other networks,"},{"line_number":80,"context_line":"however this increases operational deployment time depending on network"},{"line_number":81,"context_line":"interface boot order, and additionally brings additional risk where the"},{"line_number":82,"context_line":"Deployment Ramdisk used to write Operating System images to the local"},{"line_number":83,"context_line":"storage and wipe the local storage contents after deployment becomes"},{"line_number":84,"context_line":"a potential point of exposure."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_27a367b4","line":81,"updated":"2018-08-11 13:43:21.000000000","message":"nit: too many \"additional\"","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Bare metal nodes *can* be statically attached to other networks,"},{"line_number":80,"context_line":"however this increases operational deployment time depending on network"},{"line_number":81,"context_line":"interface boot order, and additionally brings additional risk where the"},{"line_number":82,"context_line":"Deployment Ramdisk used to write Operating System images to the local"},{"line_number":83,"context_line":"storage and wipe the local storage contents after deployment becomes"},{"line_number":84,"context_line":"a potential point of exposure."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_b2ce25b2","line":81,"in_reply_to":"3f79a3b5_27a367b4","updated":"2020-11-30 23:31:38.000000000","message":"Done","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":86,"context_line":".. note::"},{"line_number":87,"context_line":"   Additional static network attachments are also discouraged as there"},{"line_number":88,"context_line":"   does not exist a mechanism to convey configuration about them to"},{"line_number":89,"context_line":"   the deployed *bare metal* node."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":92,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_47a8e38b","line":89,"updated":"2018-08-11 13:43:21.000000000","message":"configdrives, os-net-config, pre-built images, dhcp-all-interfaces DIB element? This sounds a bit of on overstatement to me.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":86,"context_line":".. note::"},{"line_number":87,"context_line":"   Additional static network attachments are also discouraged as there"},{"line_number":88,"context_line":"   does not exist a mechanism to convey configuration about them to"},{"line_number":89,"context_line":"   the deployed *bare metal* node."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":92,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_575f8340","line":89,"in_reply_to":"3f79a3b5_47a8e38b","updated":"2020-11-30 23:31:38.000000000","message":"I was meaning as part of ironic, something that is built in. Refocused to speak about the source of truth.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":89,"context_line":"   the deployed *bare metal* node."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":92,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"},{"line_number":93,"context_line":"*ports* in ironic terminology. This will govern how the Bare Metal"},{"line_number":94,"context_line":"Intropection service is configured and leveraged."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_e7a80f8d","line":92,"updated":"2018-08-11 13:43:21.000000000","message":"It\u0027s actually a requirement. If ironic is aware of them, it may end up using them for VIF attachment.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":89,"context_line":"   the deployed *bare metal* node."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":92,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"},{"line_number":93,"context_line":"*ports* in ironic terminology. This will govern how the Bare Metal"},{"line_number":94,"context_line":"Intropection service is configured and leveraged."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_5212315a","line":92,"in_reply_to":"3f79a3b5_e7a80f8d","updated":"2020-11-30 23:31:38.000000000","message":"Great point!","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":91,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":92,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"},{"line_number":93,"context_line":"*ports* in ironic terminology. This will govern how the Bare Metal"},{"line_number":94,"context_line":"Intropection service is configured and leveraged."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"If there is any desire to allocate network interfaces to specific virtual"},{"line_number":97,"context_line":"networks, then the `Networking service`_ integration will be required. In"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_07ae6b97","line":94,"updated":"2018-08-11 13:43:21.000000000","message":"typo: Introspection. Also maybe some details here? E.g. configure it to only enroll the PXE booting NIC.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":91,"context_line":"If bare metal nodes are statically attached to additional networks, then"},{"line_number":92,"context_line":"it is best for Ironic to not be aware of the interface MAC addresses, or"},{"line_number":93,"context_line":"*ports* in ironic terminology. This will govern how the Bare Metal"},{"line_number":94,"context_line":"Intropection service is configured and leveraged."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"If there is any desire to allocate network interfaces to specific virtual"},{"line_number":97,"context_line":"networks, then the `Networking service`_ integration will be required. In"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_52947144","line":94,"in_reply_to":"3f79a3b5_07ae6b97","updated":"2020-11-30 23:31:38.000000000","message":"Done","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"If there is any desire to allocate network interfaces to specific virtual"},{"line_number":97,"context_line":"networks, then the `Networking service`_ integration will be required. In"},{"line_number":98,"context_line":"such a case, all *ports* must be known by ironic. Doing so enables greater"},{"line_number":99,"context_line":"operational security by enabling *provisioning*, *cleaning*, and *rescue*"},{"line_number":100,"context_line":"operations to take place on a separate VLAN. In this scenario, if the"},{"line_number":101,"context_line":"Bare Metal Intropection service is utilized, it is advisable that the default"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a796974b","line":98,"updated":"2018-08-11 13:43:21.000000000","message":"ditto re \"all\".","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":97,"context_line":"networks, then the `Networking service`_ integration will be required. In"},{"line_number":98,"context_line":"such a case, all *ports* must be known by ironic. Doing so enables greater"},{"line_number":99,"context_line":"operational security by enabling *provisioning*, *cleaning*, and *rescue*"},{"line_number":100,"context_line":"operations to take place on a separate VLAN. In this scenario, if the"},{"line_number":101,"context_line":"Bare Metal Intropection service is utilized, it is advisable that the default"},{"line_number":102,"context_line":"network for the switch ports is leveraged for this to support node discovery."},{"line_number":103,"context_line":"This also helps reduce physical interface port configuration conflicts with"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_c793935a","line":100,"updated":"2018-08-11 13:43:21.000000000","message":"Not necessary, if a flat network is used. I think you\u0027re conflating a generic Neutron integration with the \"neutron\" network interface.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":97,"context_line":"networks, then the `Networking service`_ integration will be required. In"},{"line_number":98,"context_line":"such a case, all *ports* must be known by ironic. Doing so enables greater"},{"line_number":99,"context_line":"operational security by enabling *provisioning*, *cleaning*, and *rescue*"},{"line_number":100,"context_line":"operations to take place on a separate VLAN. In this scenario, if the"},{"line_number":101,"context_line":"Bare Metal Intropection service is utilized, it is advisable that the default"},{"line_number":102,"context_line":"network for the switch ports is leveraged for this to support node discovery."},{"line_number":103,"context_line":"This also helps reduce physical interface port configuration conflicts with"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_5221d14c","line":100,"in_reply_to":"3f79a3b5_c793935a","updated":"2020-11-30 23:31:38.000000000","message":"Broke up and rephrased to clarify.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":98,"context_line":"such a case, all *ports* must be known by ironic. Doing so enables greater"},{"line_number":99,"context_line":"operational security by enabling *provisioning*, *cleaning*, and *rescue*"},{"line_number":100,"context_line":"operations to take place on a separate VLAN. In this scenario, if the"},{"line_number":101,"context_line":"Bare Metal Intropection service is utilized, it is advisable that the default"},{"line_number":102,"context_line":"network for the switch ports is leveraged for this to support node discovery."},{"line_number":103,"context_line":"This also helps reduce physical interface port configuration conflicts with"},{"line_number":104,"context_line":"Networking service plugins as some plugins expect the initial port state in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_679cff69","line":101,"updated":"2018-08-11 13:43:21.000000000","message":"typo: Introspection","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":98,"context_line":"such a case, all *ports* must be known by ironic. Doing so enables greater"},{"line_number":99,"context_line":"operational security by enabling *provisioning*, *cleaning*, and *rescue*"},{"line_number":100,"context_line":"operations to take place on a separate VLAN. In this scenario, if the"},{"line_number":101,"context_line":"Bare Metal Intropection service is utilized, it is advisable that the default"},{"line_number":102,"context_line":"network for the switch ports is leveraged for this to support node discovery."},{"line_number":103,"context_line":"This also helps reduce physical interface port configuration conflicts with"},{"line_number":104,"context_line":"Networking service plugins as some plugins expect the initial port state in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_721c0d13","line":101,"in_reply_to":"3f79a3b5_679cff69","updated":"2020-11-30 23:31:38.000000000","message":"Done","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":99,"context_line":"operational security by enabling *provisioning*, *cleaning*, and *rescue*"},{"line_number":100,"context_line":"operations to take place on a separate VLAN. In this scenario, if the"},{"line_number":101,"context_line":"Bare Metal Intropection service is utilized, it is advisable that the default"},{"line_number":102,"context_line":"network for the switch ports is leveraged for this to support node discovery."},{"line_number":103,"context_line":"This also helps reduce physical interface port configuration conflicts with"},{"line_number":104,"context_line":"Networking service plugins as some plugins expect the initial port state in"},{"line_number":105,"context_line":"the switch configuration to be at a vendor default for the ports under its"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_87991b7a","line":102,"updated":"2018-08-11 13:43:21.000000000","message":"s/default network/default VLAN/ for clarity?","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":99,"context_line":"operational security by enabling *provisioning*, *cleaning*, and *rescue*"},{"line_number":100,"context_line":"operations to take place on a separate VLAN. In this scenario, if the"},{"line_number":101,"context_line":"Bare Metal Intropection service is utilized, it is advisable that the default"},{"line_number":102,"context_line":"network for the switch ports is leveraged for this to support node discovery."},{"line_number":103,"context_line":"This also helps reduce physical interface port configuration conflicts with"},{"line_number":104,"context_line":"Networking service plugins as some plugins expect the initial port state in"},{"line_number":105,"context_line":"the switch configuration to be at a vendor default for the ports under its"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_f2d57d1c","line":102,"in_reply_to":"3f79a3b5_87991b7a","updated":"2020-11-30 23:31:38.000000000","message":"Done","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":106,"context_line":"management."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":".. TODO(TheJulia): We should split these into two subsections to be able to"},{"line_number":109,"context_line":"                   properly delineate them."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"If the Networking service is not leveraged, then DHCP configuration will"},{"line_number":112,"context_line":"need to be used to point the bare metal nodes to an initial PXE boot loader"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_278cc734","line":109,"updated":"2018-08-11 13:43:21.000000000","message":"++++","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":106,"context_line":"management."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":".. TODO(TheJulia): We should split these into two subsections to be able to"},{"line_number":109,"context_line":"                   properly delineate them."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"If the Networking service is not leveraged, then DHCP configuration will"},{"line_number":112,"context_line":"need to be used to point the bare metal nodes to an initial PXE boot loader"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_d2896126","line":109,"in_reply_to":"3f79a3b5_278cc734","updated":"2020-11-30 23:31:38.000000000","message":"Maybe very explicitely delineate and express the three possible network models...","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"If the Networking service is not leveraged, then DHCP configuration will"},{"line_number":112,"context_line":"need to be used to point the bare metal nodes to an initial PXE boot loader"},{"line_number":113,"context_line":"that should be hosted by the node hosting the ``ironic-conductor`` process."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Ultimately, as long as the DHCP configuration points to the node hosting the"},{"line_number":116,"context_line":"``ironic-conductor`` process, where the TFTP root folder (typically"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_4791c34d","line":113,"updated":"2018-08-11 13:43:21.000000000","message":"At this point I feel like we should split two architectures: a simple provisioner with standalone DHCP and a more complex provisioner with Neutron and VLANs. Too many \"if\" in this document.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"If the Networking service is not leveraged, then DHCP configuration will"},{"line_number":112,"context_line":"need to be used to point the bare metal nodes to an initial PXE boot loader"},{"line_number":113,"context_line":"that should be hosted by the node hosting the ``ironic-conductor`` process."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Ultimately, as long as the DHCP configuration points to the node hosting the"},{"line_number":116,"context_line":"``ironic-conductor`` process, where the TFTP root folder (typically"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_92b1a9e4","line":113,"in_reply_to":"3f79a3b5_4791c34d","updated":"2020-11-30 23:31:38.000000000","message":"I really wonder if the first is really worth the effort, the questions really seem to revolve around network complexity and how things can be plugged together. :\\","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":156,"context_line":"Architecturally, nothing prevents an operator from placing dedicated"},{"line_number":157,"context_line":"nodes hosting the ``ironic-conductor`` service with-in the same rack of"},{"line_number":158,"context_line":"*bare metal* nodes, or possibly even with-in a switch capible of executing"},{"line_number":159,"context_line":"Python. Operators doing so may wish to consider the newly added"},{"line_number":160,"context_line":"`conductor groups`_ feature in version 11.1.0."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":".. TODO(TheJulia): It feels like more should be said here. Perhaps mention"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_e781effc","line":159,"updated":"2018-08-11 13:43:21.000000000","message":"it\u0027s not really a wish, but rather a requirement to achieve it.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ac34bc3951ff854ee5baa1ef71905d37df6c22e5","unresolved":false,"context_lines":[{"line_number":156,"context_line":"Architecturally, nothing prevents an operator from placing dedicated"},{"line_number":157,"context_line":"nodes hosting the ``ironic-conductor`` service with-in the same rack of"},{"line_number":158,"context_line":"*bare metal* nodes, or possibly even with-in a switch capible of executing"},{"line_number":159,"context_line":"Python. Operators doing so may wish to consider the newly added"},{"line_number":160,"context_line":"`conductor groups`_ feature in version 11.1.0."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":".. TODO(TheJulia): It feels like more should be said here. Perhaps mention"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_b2b4e5d2","line":159,"in_reply_to":"3f79a3b5_e781effc","updated":"2020-11-30 23:31:38.000000000","message":"Somewhat yes, although if I have a massive L2 domain for management spanning switches, and node are dual connected... oh,  I just hit the reason for complex affinity matching. DOH!","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":160,"context_line":"`conductor groups`_ feature in version 11.1.0."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":".. TODO(TheJulia): It feels like more should be said here. Perhaps mention"},{"line_number":163,"context_line":"                   bifrost, metalsmith?"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Bare Metal services"},{"line_number":166,"context_line":"~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_07874b11","line":163,"updated":"2018-08-11 13:43:21.000000000","message":"++, there is a point above when you talk about absence of nova.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":204,"context_line":"    specific ML2 plugin is required."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"* A ML2 plugin supporting the *baremetal* *vnic_type* is used to manage the"},{"line_number":207,"context_line":"  switch configuration. Various endors have plugins for their specific"},{"line_number":208,"context_line":"  integrations."},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"  Two potential community developed options may help fill the need if"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a77f7713","line":207,"updated":"2018-08-11 13:43:21.000000000","message":"typo: vendors","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"  Two potential community developed options may help fill the need if"},{"line_number":211,"context_line":"  a vendor\u0027s driver is unale to support the specific scenario or"},{"line_number":212,"context_line":"  environment configuration.:"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"  * networking-generic-switch_ provides a simple SSH driven method to"},{"line_number":215,"context_line":"    execute the required commands on remote switches."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_c77cf320","line":212,"updated":"2018-08-11 13:43:21.000000000","message":"nit: no dot before colon?","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"78965225003929874edda32ef405003894d1262d","unresolved":false,"context_lines":[{"line_number":226,"context_line":"  API."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"  .. NOTE(TheJulia): Why all controllers? That doesn\u0027t seem necessary in all cases."},{"line_number":229,"context_line":"                     perhaps it is recommended instead??"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":".. TODO(dtantsur): a nice picture to illustrate the above"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_6775df31","line":229,"updated":"2018-08-11 13:43:21.000000000","message":"++ especially since HA requires additional configuration.","commit_id":"b3409390b6c5485b8f96739c728eef96755c8a0e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"196c303394d8368195012cd5ec90cb13c8af1eff","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* The `Bare Metal Introspection service`_ simplifies enrolling new bare metal"},{"line_number":26,"context_line":"  machines by conducting in-band introspection."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"It must be stressed that without the `Compute service`_, management of"},{"line_number":29,"context_line":"the provisioning of bare metal nodes must be performed by the operator using"},{"line_number":30,"context_line":"command, Ansible Playbooks, RESTful API calls, or other mechanisms."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_92ddb471","line":28,"range":{"start_line":28,"start_character":25,"end_line":28,"end_character":32},"updated":"2018-09-06 09:51:15.000000000","message":"isn\u0027t it the same with compute service? :)","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"196c303394d8368195012cd5ec90cb13c8af1eff","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"It must be stressed that without the `Compute service`_, management of"},{"line_number":29,"context_line":"the provisioning of bare metal nodes must be performed by the operator using"},{"line_number":30,"context_line":"command, Ansible Playbooks, RESTful API calls, or other mechanisms."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Node roles"},{"line_number":33,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_d2efac1a","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":7},"updated":"2018-09-06 09:51:15.000000000","message":"CLI","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"196c303394d8368195012cd5ec90cb13c8af1eff","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Bare metal nodes *can* be statically attached to other networks,"},{"line_number":76,"context_line":"however this increases operational deployment time depending on network"},{"line_number":77,"context_line":"interface boot order, and introduces additional risk when the"},{"line_number":78,"context_line":"Deployment or Rescue ramdisks are operating."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_d23d6c8e","line":77,"range":{"start_line":77,"start_character":48,"end_line":77,"end_character":52},"updated":"2018-09-06 09:51:15.000000000","message":"would be good to mention the risks (isn\u0027t pxe_enabled mitigating them?)","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"196c303394d8368195012cd5ec90cb13c8af1eff","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"If there is any desire to allocate network interfaces to specific virtual"},{"line_number":95,"context_line":"networks, then the `Networking service`_ integration will be required. In"},{"line_number":96,"context_line":"such a case, all *ports* must be known by ironic. Doing so enables greater"},{"line_number":97,"context_line":"operational security by enabling *provisioning*, *cleaning*, and *rescue*"},{"line_number":98,"context_line":"operations to take place on a separate VLAN via the ``neutron``"},{"line_number":99,"context_line":"``network_interface``. A ``flat`` interface model exists, however all nodes"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_526abc80","line":96,"range":{"start_line":96,"start_character":17,"end_line":96,"end_character":48},"updated":"2018-09-06 09:51:15.000000000","message":"if ports here is an ironic construct isn\u0027t it the case already?","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"034c2477ca30efb4bc263853b60f2c5dcb6eedc7","unresolved":false,"context_lines":[{"line_number":122,"context_line":"it would be whatever node hosts the HTTP URL hosting the HTTP boot root"},{"line_number":123,"context_line":"folder, typically ``/httpboot``."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":".. NOTE:: The Bare Metal as a Service team recommends the use if iPXE where"},{"line_number":126,"context_line":"          possible as it provides the greatest amount of operator flexibility"},{"line_number":127,"context_line":"          and performance via the use of HTTP(S) based connections."},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"bfdaf3ff_63d6a1c6","line":125,"range":{"start_line":125,"start_character":62,"end_line":125,"end_character":64},"updated":"2019-01-15 12:00:35.000000000","message":"Typo: s/if/of","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"034c2477ca30efb4bc263853b60f2c5dcb6eedc7","unresolved":false,"context_lines":[{"line_number":133,"context_line":"*Management network* is an independent network on which BMCs of the bare"},{"line_number":134,"context_line":"metal nodes are located."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"The ``ironic-conductor`` process needs access to this network. The tenants"},{"line_number":137,"context_line":"or users of the bare metal nodes must not have access to it."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"This network does not have to be physically attached to the *controllers*"},{"line_number":140,"context_line":"hosting the ``ironic-conductor``, and routed access can be used. If separate"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bfdaf3ff_635b0154","line":137,"range":{"start_line":136,"start_character":63,"end_line":137,"end_character":60},"updated":"2019-01-15 12:00:35.000000000","message":"I\u0027d weaken this to say that users \"should not\" have access to this network (rather than \"must not\", and maybe also explain why (security, interference, ...)): Ironic will still work if users have access to the management network. Also, I know there are deployments where users are explicitly granted IPMI access to their physical instances via IPMI :)","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"196c303394d8368195012cd5ec90cb13c8af1eff","unresolved":false,"context_lines":[{"line_number":147,"context_line":"-----------"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"A *controller* in this context is a node that hosts the ``ironic-api``,"},{"line_number":150,"context_line":"``ironic-conductor`` services and the Identity service (if desired)."},{"line_number":151,"context_line":"These services can be separated or operate on the same node as long"},{"line_number":152,"context_line":"as they have access to the common *shared services*."},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_92229451","line":150,"range":{"start_line":150,"start_character":38,"end_line":150,"end_character":46},"updated":"2018-09-06 09:51:15.000000000","message":"this is the first time identity management is mentioned, maybe better to add it to components in the very beginning?","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"034c2477ca30efb4bc263853b60f2c5dcb6eedc7","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Architecturally, nothing prevents an operator from placing dedicated"},{"line_number":159,"context_line":"nodes hosting the ``ironic-conductor`` service with-in the same rack of"},{"line_number":160,"context_line":"*bare metal* nodes, or possibly even with-in a switch capible of executing"},{"line_number":161,"context_line":"Python. Operators doing so will likely wish to consider the newly added"},{"line_number":162,"context_line":"`conductor groups`_ feature in version 11.1.0."},{"line_number":163,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"bfdaf3ff_6309c12f","line":160,"range":{"start_line":160,"start_character":54,"end_line":160,"end_character":61},"updated":"2019-01-15 12:00:35.000000000","message":"Typo s/capible/capable/","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"034c2477ca30efb4bc263853b60f2c5dcb6eedc7","unresolved":false,"context_lines":[{"line_number":171,"context_line":"*controller* (see :ref:`components of the Bare Metal service"},{"line_number":172,"context_line":"\u003crefarch-common-components\u003e`):"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* The Bare Metal API service either as a WSGI application or the ``ironic-api``"},{"line_number":175,"context_line":"  process. Typically, a load balancer, such as HAProxy, spreads the load"},{"line_number":176,"context_line":"  between the API instances on the *controllers*."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"  The API has to be served on the *control plane network*. Additionally,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bfdaf3ff_3e13ce5e","line":175,"range":{"start_line":174,"start_character":41,"end_line":175,"end_character":9},"updated":"2019-01-15 12:00:35.000000000","message":"As this is the reference architecture should it be explicit here that the WSGI option is preferred?","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"196c303394d8368195012cd5ec90cb13c8af1eff","unresolved":false,"context_lines":[{"line_number":176,"context_line":"  between the API instances on the *controllers*."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"  The API has to be served on the *control plane network*. Additionally,"},{"line_number":179,"context_line":"  it has to be exposed to the *bare metal network* for the ramdisk callback"},{"line_number":180,"context_line":"  API."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"* The ``ironic-conductor`` process. These processes work in active/active HA"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_f2aae881","line":179,"range":{"start_line":179,"start_character":5,"end_line":179,"end_character":8},"updated":"2018-09-06 09:51:15.000000000","message":"not necessarily https://docs.openstack.org/ironic/latest/admin/security.html#api-endpoints-for-ram-disk-use","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"196c303394d8368195012cd5ec90cb13c8af1eff","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"If using the Networking service:"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"* The networking-baremetal_ ML2 plugin must be loaded into the Networking"},{"line_number":199,"context_line":"  service to assist with binding bare metal ports."},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"  The ironic-neutron-agent_ service must be started as well."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_726fb85f","line":198,"range":{"start_line":198,"start_character":39,"end_line":198,"end_character":43},"updated":"2018-09-06 09:51:15.000000000","message":"is it a must or more of recommendation? iirc things still work even if ports are unbound in neutron. might be good to explain cases when it is useful (routed networks)","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"034c2477ca30efb4bc263853b60f2c5dcb6eedc7","unresolved":false,"context_lines":[{"line_number":227,"context_line":"  it has to be exposed to the *bare metal network* for the ramdisk callback"},{"line_number":228,"context_line":"  API."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"  .. NOTE(TheJulia): Why all controllers? That doesn\u0027t seem necessary in all cases."},{"line_number":231,"context_line":"                     perhaps it is recommended instead??"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":".. TODO(dtantsur): a nice picture to illustrate the above"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bfdaf3ff_9e251aae","line":230,"range":{"start_line":230,"start_character":42,"end_line":230,"end_character":82},"updated":"2019-01-15 12:00:35.000000000","message":"Maybe not necessary, but the preferred option (in order to have identical, and hence easy-to-replace, controllers).","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"034c2477ca30efb4bc263853b60f2c5dcb6eedc7","unresolved":false,"context_lines":[{"line_number":235,"context_line":"Shared services"},{"line_number":236,"context_line":"~~~~~~~~~~~~~~~"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"A *controller* typically also hosts two services required for the normal"},{"line_number":239,"context_line":"operation of OpenStack:"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"* Database service (MySQL/MariaDB is typically used, but other"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bfdaf3ff_5e3c92be","line":238,"range":{"start_line":238,"start_character":30,"end_line":238,"end_character":35},"updated":"2019-01-15 12:00:35.000000000","message":"I\u0027d say \"need\" rather than \"host\". It\u0027s probably good practice to not have the DB and the MQ on the controllers, but rather on a separate host: this allows for the controller and their config to be identical.","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"034c2477ca30efb4bc263853b60f2c5dcb6eedc7","unresolved":false,"context_lines":[{"line_number":251,"context_line":"  The Bare Metal Introspection service does not need it."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":".. note::"},{"line_number":254,"context_line":"    These services are required for all OpenStack services. If you\u0027re adding"},{"line_number":255,"context_line":"    the Bare Metal service to your cloud, you may reuse the existing"},{"line_number":256,"context_line":"    database and messaging queue services."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"Bare metal nodes"},{"line_number":259,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bfdaf3ff_7ea5d603","line":256,"range":{"start_line":254,"start_character":4,"end_line":256,"end_character":42},"updated":"2019-01-15 12:00:35.000000000","message":"I\u0027d say that\u0027s a good option if resources are scarce. OTOH, having separate DBs and queues avoids that the whole deployment depends on a single Rabbit instance, for instance, and suffers whenever there is an issue with it. Also maintenance operations, such as upgrades, become easier if things are not shared.","commit_id":"43e42c3d7244ccd5ca19f261678352e3b19e1187"}]}
