)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"080cb8c1eb778fe08885e2e81363e61a83d56ce2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Harald Jensås \u003chjensas@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-11-04 03:20:29 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WiP] Network Data v2 - node ports spec"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Iae721c373f2bbfffa36ed2db9d9af6569e15ed96"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1f621f24_6b953340","line":7,"range":{"start_line":7,"start_character":1,"end_line":7,"end_character":4},"updated":"2020-11-05 16:48:28.000000000","message":"what are you still wanting to add here \n\nfirst pass... i think that is deterring reviewers perhaps ? is it not even ready for review?","commit_id":"30576bf09174fb05abd6e87817aaf264fb6a2ea8"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"b94ebcae5079ad6911eb23f4540d0944c0b27f2c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Harald Jensås \u003chjensas@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-11-04 03:20:29 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WiP] Network Data v2 - node ports spec"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Iae721c373f2bbfffa36ed2db9d9af6569e15ed96"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1f621f24_9f3a8095","line":7,"range":{"start_line":7,"start_character":1,"end_line":7,"end_character":4},"in_reply_to":"1f621f24_6b953340","updated":"2020-11-06 09:35:23.000000000","message":"good idea, I removed WIP. It\u0027s not done, but feedback is certainly required to get this spec done at this point.","commit_id":"30576bf09174fb05abd6e87817aaf264fb6a2ea8"}],"specs/wallaby/triplo-network-data-v2-node-ports.rst":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"88e852e0d016ae422d35e7bb30aa05f105306826","unresolved":false,"context_lines":[{"line_number":73,"context_line":"The workflow will create neutron ports based on the YAML definition and store"},{"line_number":74,"context_line":"a network to neutron port uuid in the ironic node ``extra`` field, as shown"},{"line_number":75,"context_line":"in the example below."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. code-block:: json"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"   {\"tripleo_networks\": {"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_5ad0fe1f","line":76,"updated":"2020-11-05 19:44:49.000000000","message":"I\u0027m concerned that we will now have a ``networks`` key and a ``nics`` key, where both end up creating ports and associating them with nodes (although only ``nics`` creates an ironic VIF record)\n\nHow about we enforce that ``nics`` and ``networks`` be mutually exclusive, essentially deprecating ``nics``?\n\nThen a ``networks`` entry can have a boolean field like ``vif`` to indicate that it is a VIF and this entry will behave like the old ``nics`` entry. If they don\u0027t specify any vif: true entries there will be an implicit one appended:\n\n  - network: ctlplane\n    vif: true","commit_id":"30576bf09174fb05abd6e87817aaf264fb6a2ea8"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"b94ebcae5079ad6911eb23f4540d0944c0b27f2c","unresolved":false,"context_lines":[{"line_number":73,"context_line":"The workflow will create neutron ports based on the YAML definition and store"},{"line_number":74,"context_line":"a network to neutron port uuid in the ironic node ``extra`` field, as shown"},{"line_number":75,"context_line":"in the example below."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. code-block:: json"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"   {\"tripleo_networks\": {"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_1fc15081","line":76,"in_reply_to":"1f621f24_5ad0fe1f","updated":"2020-11-06 09:35:23.000000000","message":"I think this is an excellent idea! It\u0027s in the latest update.\n\nIt would even allow multiple ports to be vif: true in the case Ironic does have multiple ports and we might want to let metalsmith manage the port resource and do proper VIF attach in that case.","commit_id":"30576bf09174fb05abd6e87817aaf264fb6a2ea8"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"88e852e0d016ae422d35e7bb30aa05f105306826","unresolved":false,"context_lines":[{"line_number":373,"context_line":"   must be provided."},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"#. Apply and validate network configuration using the **triple-ansible**"},{"line_number":376,"context_line":"   ``tripleo_network_config`` ansible role."},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"#. Disable and remove management of composable network ports in"},{"line_number":379,"context_line":"   tripleo-heat-templates."}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_5afabe74","line":376,"updated":"2020-11-05 19:44:49.000000000","message":"Its not really obvious here if you mean for the provision command itself to run the tripleo_network_config role, or if there would be another pre-overcloud-deploy command to do it.\n\nEither way, we need to handle the case of provisioned nodes being completely ready for a non overcloud-deploy tool to be run (such as the new ceph installer)","commit_id":"30576bf09174fb05abd6e87817aaf264fb6a2ea8"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"b94ebcae5079ad6911eb23f4540d0944c0b27f2c","unresolved":false,"context_lines":[{"line_number":373,"context_line":"   must be provided."},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"#. Apply and validate network configuration using the **triple-ansible**"},{"line_number":376,"context_line":"   ``tripleo_network_config`` ansible role."},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"#. Disable and remove management of composable network ports in"},{"line_number":379,"context_line":"   tripleo-heat-templates."}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_7f9204a0","line":376,"in_reply_to":"1f621f24_5afabe74","updated":"2020-11-06 09:35:23.000000000","message":"I think the provisioning command itself should execute the tripleo_network_config role.\n\nI tried to clarify in the latest update.","commit_id":"30576bf09174fb05abd6e87817aaf264fb6a2ea8"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"88e852e0d016ae422d35e7bb30aa05f105306826","unresolved":false,"context_lines":[{"line_number":379,"context_line":"   tripleo-heat-templates."},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"#. Change the Undercloud deploy to apply network configuration prior to the"},{"line_number":382,"context_line":"   heat stack."},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"Testing"},{"line_number":385,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_5a3f5e24","line":382,"updated":"2020-11-05 19:44:49.000000000","message":"I\u0027m not sure if you mean tripleo_network_config here or something else? And if you mean overcloud deploy, that would be too late for the plan of running the standalone ceph installer before the overcloud deploy.","commit_id":"30576bf09174fb05abd6e87817aaf264fb6a2ea8"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"b94ebcae5079ad6911eb23f4540d0944c0b27f2c","unresolved":false,"context_lines":[{"line_number":379,"context_line":"   tripleo-heat-templates."},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"#. Change the Undercloud deploy to apply network configuration prior to the"},{"line_number":382,"context_line":"   heat stack."},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"Testing"},{"line_number":385,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_7fe7a441","line":382,"in_reply_to":"1f621f24_5a3f5e24","updated":"2020-11-06 09:35:23.000000000","message":"Yes I meant tripleo_network_configure role, hopefully latest update clarifies a bit.","commit_id":"30576bf09174fb05abd6e87817aaf264fb6a2ea8"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"10d4cb0039d3e27ae7fc67fb9940a68fcf98ec57","unresolved":false,"context_lines":[{"line_number":404,"context_line":"      role_networks:"},{"line_number":405,"context_line":"        - InternalApi"},{"line_number":406,"context_line":"        - Tenant"},{"line_number":407,"context_line":"      role_networks_lower:"},{"line_number":408,"context_line":"        InternalApi: internal_api"},{"line_number":409,"context_line":"        Tenant: tenant"},{"line_number":410,"context_line":"      neutron_physical_bridge_name: br-ex"},{"line_number":411,"context_line":"      neutron_public_interface_name: nic1"},{"line_number":412,"context_line":"      tripleo_network_config_os_net_config_mappings: {}"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f621f24_101abe6d","line":409,"range":{"start_line":407,"start_character":0,"end_line":409,"end_character":22},"updated":"2020-11-10 11:31:34.000000000","message":"is this supposed to be auto-generated or user defined?","commit_id":"706b983253559de3a60b3214f09580ddb93a1aae"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"e762d9f64c611a28a6ccbb6494bc781cb299f25e","unresolved":false,"context_lines":[{"line_number":404,"context_line":"      role_networks:"},{"line_number":405,"context_line":"        - InternalApi"},{"line_number":406,"context_line":"        - Tenant"},{"line_number":407,"context_line":"      role_networks_lower:"},{"line_number":408,"context_line":"        InternalApi: internal_api"},{"line_number":409,"context_line":"        Tenant: tenant"},{"line_number":410,"context_line":"      neutron_physical_bridge_name: br-ex"},{"line_number":411,"context_line":"      neutron_public_interface_name: nic1"},{"line_number":412,"context_line":"      tripleo_network_config_os_net_config_mappings: {}"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f621f24_e141363b","line":409,"range":{"start_line":407,"start_character":0,"end_line":409,"end_character":22},"in_reply_to":"1f621f24_101abe6d","updated":"2020-11-10 14:13:15.000000000","message":"The goal is to auto-generate the ansible inventory.\nThe user facing interface will be the \"Baremetal YAML definition\".","commit_id":"706b983253559de3a60b3214f09580ddb93a1aae"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"e89c77026299abb51a9729e9e3d5342160143dde","unresolved":false,"context_lines":[{"line_number":35,"context_line":"consolidate all port management into one workflow."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Also make baremetal provisioning workflow execute the tripleo-ansible"},{"line_number":38,"context_line":"``tripleo_network_config`` role to configure node networking after"},{"line_number":39,"context_line":"node provisioning."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"The deploy workflow would be:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1f621f24_ce24e20f","line":38,"range":{"start_line":38,"start_character":2,"end_line":38,"end_character":24},"updated":"2020-11-16 17:20:56.000000000","message":"might be nice to reference it https://opendev.org/openstack/tripleo-ansible/src/branch/master/doc/source/roles/role-tripleo_network_config.rst","commit_id":"e8d5fa874e363a13ab6bc6197daa56cff9648b66"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"e89c77026299abb51a9729e9e3d5342160143dde","unresolved":false,"context_lines":[{"line_number":500,"context_line":"   ``tripleo_network_config`` ansible role. This step will be integrated in"},{"line_number":501,"context_line":"   the provisioning command."},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"#. Disable and remove management of composable network ports in"},{"line_number":504,"context_line":"   tripleo-heat-templates."},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"#. Change the Undercloud ans Standalone deploy to apply network configuration"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1f621f24_ced7c2be","line":503,"range":{"start_line":503,"start_character":15,"end_line":503,"end_character":21},"updated":"2020-11-16 17:20:56.000000000","message":"deprecate\n\ni guess removal comes next cycle at the earliest right?","commit_id":"e8d5fa874e363a13ab6bc6197daa56cff9648b66"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"e89c77026299abb51a9729e9e3d5342160143dde","unresolved":false,"context_lines":[{"line_number":513,"context_line":"Multinode OVB CI job\u0027s with network-isolation will be updated to test the new"},{"line_number":514,"context_line":"workflow."},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"Upgrade Impact"},{"line_number":517,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"Moving node network configuration out of tripleo-heat-templates will require"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1f621f24_6e978eed","line":516,"range":{"start_line":516,"start_character":0,"end_line":516,"end_character":7},"updated":"2020-11-16 17:20:56.000000000","message":"so it would be good to have the upgrades team at least aware of this proposal and ideally commenting with any initial thoughts here...\n\nfor me it is crucial that this won\u0027t be removing the tripleo-heat-templates way of deploying the networks, at least not this cycle.\n\nreally the upgrades blockers if any will need to be resolved at that point.","commit_id":"e8d5fa874e363a13ab6bc6197daa56cff9648b66"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"649b0c801411ce005e8907873bff5f76e0f88980","unresolved":false,"context_lines":[{"line_number":605,"context_line":""},{"line_number":606,"context_line":"   Instead of adding the relation between node \u003c-\u003e network-port in the ironic"},{"line_number":607,"context_line":"   nodes ``extra`` field, create ports for the ironic nodes."},{"line_number":608,"context_line":"   "},{"line_number":609,"context_line":"   The issue that ironic does not have a concept of virtual port\u0027s, so we would"},{"line_number":610,"context_line":"   have to either add this support in ironic, switch TripleO to use neutron"},{"line_number":611,"context_line":"   trunk ports or create *fake* ironic ports that don\u0027t actually reflect NICs on"}],"source_content_type":"text/x-rst","patch_set":9,"id":"22ed41ac_b8f67027","line":608,"updated":"2020-11-25 13:54:42.000000000","message":"whitespace","commit_id":"e8d5fa874e363a13ab6bc6197daa56cff9648b66"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"e89c77026299abb51a9729e9e3d5342160143dde","unresolved":false,"context_lines":[{"line_number":605,"context_line":""},{"line_number":606,"context_line":"   Instead of adding the relation between node \u003c-\u003e network-port in the ironic"},{"line_number":607,"context_line":"   nodes ``extra`` field, create ports for the ironic nodes."},{"line_number":608,"context_line":"   "},{"line_number":609,"context_line":"   The issue that ironic does not have a concept of virtual port\u0027s, so we would"},{"line_number":610,"context_line":"   have to either add this support in ironic, switch TripleO to use neutron"},{"line_number":611,"context_line":"   trunk ports or create *fake* ironic ports that don\u0027t actually reflect NICs on"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1f621f24_ae9d260b","line":608,"updated":"2020-11-16 17:20:56.000000000","message":"whitespace nit","commit_id":"e8d5fa874e363a13ab6bc6197daa56cff9648b66"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"649b0c801411ce005e8907873bff5f76e0f88980","unresolved":true,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":" This work is licensed under a Creative Commons Attribution 3.0 Unported"},{"line_number":3,"context_line":" License."},{"line_number":4,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"67fb495e_622e0cb3","line":1,"updated":"2020-11-25 13:54:42.000000000","message":"created a blueprint at https://blueprints.launchpad.net/tripleo/+spec/network-data-v2-ports \nand linked back to here\n\nwe need it so we can target for wallaby https://blueprints.launchpad.net/tripleo/wallaby","commit_id":"6a85711bea226c37e987c3ef273680b89062e498"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"41547d225bb011b97d6159aa034653be0eb84c6e","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to creating ports for large scale deployments, neutron on the"},{"line_number":24,"context_line":"single node undercloud get\u0027s overwhelmed and it is difficult to throttle"},{"line_number":25,"context_line":"port creation in Heat."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"293b5a90_46aca740","line":23,"range":{"start_line":23,"start_character":57,"end_line":23,"end_character":58},"updated":"2020-12-01 08:43:52.000000000","message":". Neutron on the  \n\nOR\n\n; neutron on the","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"41547d225bb011b97d6159aa034653be0eb84c6e","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to creating ports for large scale deployments, neutron on the"},{"line_number":24,"context_line":"single node undercloud get\u0027s overwhelmed and it is difficult to throttle"},{"line_number":25,"context_line":"port creation in Heat."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"38fab495_6f25dad3","line":23,"range":{"start_line":23,"start_character":20,"end_line":23,"end_character":23},"updated":"2020-12-01 08:43:52.000000000","message":"e","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"df7014225c1b12a371b555c948113a1389e9a227","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to creating ports for large scale deployments, neutron on the"},{"line_number":24,"context_line":"single node undercloud get\u0027s overwhelmed and it is difficult to throttle"},{"line_number":25,"context_line":"port creation in Heat."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"169c910b_01a32681","line":23,"range":{"start_line":23,"start_character":57,"end_line":23,"end_character":58},"in_reply_to":"293b5a90_46aca740","updated":"2020-12-01 14:05:28.000000000","message":"Done","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"df7014225c1b12a371b555c948113a1389e9a227","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to creating ports for large scale deployments, neutron on the"},{"line_number":24,"context_line":"single node undercloud get\u0027s overwhelmed and it is difficult to throttle"},{"line_number":25,"context_line":"port creation in Heat."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"14734c39_afb2395d","line":23,"range":{"start_line":23,"start_character":20,"end_line":23,"end_character":23},"in_reply_to":"38fab495_6f25dad3","updated":"2020-12-01 14:05:28.000000000","message":"Done","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"41547d225bb011b97d6159aa034653be0eb84c6e","unresolved":true,"context_lines":[{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to creating ports for large scale deployments, neutron on the"},{"line_number":24,"context_line":"single node undercloud get\u0027s overwhelmed and it is difficult to throttle"},{"line_number":25,"context_line":"port creation in Heat."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"498b20d4_f072d91e","line":24,"range":{"start_line":24,"start_character":26,"end_line":24,"end_character":28},"updated":"2020-12-01 08:43:52.000000000","message":"gets","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"df7014225c1b12a371b555c948113a1389e9a227","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to creating ports for large scale deployments, neutron on the"},{"line_number":24,"context_line":"single node undercloud get\u0027s overwhelmed and it is difficult to throttle"},{"line_number":25,"context_line":"port creation in Heat."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9499282d_f66410cf","line":24,"range":{"start_line":24,"start_character":26,"end_line":24,"end_character":28},"in_reply_to":"498b20d4_f072d91e","updated":"2020-12-01 14:05:28.000000000","message":"Done","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"41547d225bb011b97d6159aa034653be0eb84c6e","unresolved":true,"context_lines":[{"line_number":87,"context_line":"networks with ``vif: false`` (or ``vif`` not specified) the workflow will"},{"line_number":88,"context_line":"create neutron ports based on the YAML definition."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The neutron port\u0027s will initially be tagged with the *stack name* and the"},{"line_number":91,"context_line":"instance *hostname*, these tags are used for idempotency. The ansible module"},{"line_number":92,"context_line":"managing ports will get all ports with the relevant tags and then add/remove"},{"line_number":93,"context_line":"ports based on the expanded roles defined in the Baremetal YAML definition."}],"source_content_type":"text/x-rst","patch_set":11,"id":"7d1e1193_88b89fcb","line":90,"range":{"start_line":90,"start_character":16,"end_line":90,"end_character":17},"updated":"2020-12-01 08:43:52.000000000","message":"remove","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"df7014225c1b12a371b555c948113a1389e9a227","unresolved":false,"context_lines":[{"line_number":87,"context_line":"networks with ``vif: false`` (or ``vif`` not specified) the workflow will"},{"line_number":88,"context_line":"create neutron ports based on the YAML definition."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The neutron port\u0027s will initially be tagged with the *stack name* and the"},{"line_number":91,"context_line":"instance *hostname*, these tags are used for idempotency. The ansible module"},{"line_number":92,"context_line":"managing ports will get all ports with the relevant tags and then add/remove"},{"line_number":93,"context_line":"ports based on the expanded roles defined in the Baremetal YAML definition."}],"source_content_type":"text/x-rst","patch_set":11,"id":"6dafecfc_02377dc3","line":90,"range":{"start_line":90,"start_character":16,"end_line":90,"end_character":17},"in_reply_to":"7d1e1193_88b89fcb","updated":"2020-12-01 14:05:28.000000000","message":"Done","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"1b588811c2e3dfd1e3a20086d71a4f75edfa44af","unresolved":true,"context_lines":[{"line_number":120,"context_line":"node, keyed by the node name. Initially the ``NodePortMap`` will be consumed by"},{"line_number":121,"context_line":"alternative *fake-port*"},{"line_number":122,"context_line":"``OS::TripleO::{{role.name}}::Ports::{{network.name}}Port`` resource templates."},{"line_number":123,"context_line":"In the final implementation the the environment file created can be extended"},{"line_number":124,"context_line":"and the entire ``OS::TripleO::{{role.name}}`` resource can be replaced with a"},{"line_number":125,"context_line":"template that references parameter in the generated environment directly, i.e a"},{"line_number":126,"context_line":"re-implemented ``puppet/role.role.j2.yaml`` without the server and port"}],"source_content_type":"text/x-rst","patch_set":11,"id":"e3b5c9f4_22f963d3","line":123,"range":{"start_line":123,"start_character":28,"end_line":123,"end_character":36},"updated":"2020-12-01 04:16:18.000000000","message":"The the","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"30499da30cb4803581b92e495d3513784252c9b6","unresolved":false,"context_lines":[{"line_number":120,"context_line":"node, keyed by the node name. Initially the ``NodePortMap`` will be consumed by"},{"line_number":121,"context_line":"alternative *fake-port*"},{"line_number":122,"context_line":"``OS::TripleO::{{role.name}}::Ports::{{network.name}}Port`` resource templates."},{"line_number":123,"context_line":"In the final implementation the the environment file created can be extended"},{"line_number":124,"context_line":"and the entire ``OS::TripleO::{{role.name}}`` resource can be replaced with a"},{"line_number":125,"context_line":"template that references parameter in the generated environment directly, i.e a"},{"line_number":126,"context_line":"re-implemented ``puppet/role.role.j2.yaml`` without the server and port"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1fbe1d03_cc98b6ea","line":123,"range":{"start_line":123,"start_character":28,"end_line":123,"end_character":36},"in_reply_to":"e3b5c9f4_22f963d3","updated":"2020-12-01 12:29:59.000000000","message":"Done","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"1b588811c2e3dfd1e3a20086d71a4f75edfa44af","unresolved":true,"context_lines":[{"line_number":135,"context_line":"``tripleo_baremetal_expand_roles`` ansible module will be extended to add"},{"line_number":136,"context_line":"network/subnet information from the baremetal deployment YAML definition."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"The baremetal deployment workflow will be extended to write a ansible inventory"},{"line_number":139,"context_line":"which will be used to configure networking on the provisioned nodes using the"},{"line_number":140,"context_line":"**triple-ansible** ``tripleo_network_config`` ansible role."},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"4ba14229_6402a9b7","line":138,"range":{"start_line":138,"start_character":14,"end_line":138,"end_character":24},"updated":"2020-12-01 04:16:18.000000000","message":"I think you mean provision workflow here","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"30499da30cb4803581b92e495d3513784252c9b6","unresolved":false,"context_lines":[{"line_number":135,"context_line":"``tripleo_baremetal_expand_roles`` ansible module will be extended to add"},{"line_number":136,"context_line":"network/subnet information from the baremetal deployment YAML definition."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"The baremetal deployment workflow will be extended to write a ansible inventory"},{"line_number":139,"context_line":"which will be used to configure networking on the provisioned nodes using the"},{"line_number":140,"context_line":"**triple-ansible** ``tripleo_network_config`` ansible role."},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"d7e86e18_86026d55","line":138,"range":{"start_line":138,"start_character":14,"end_line":138,"end_character":24},"in_reply_to":"4ba14229_6402a9b7","updated":"2020-12-01 12:29:59.000000000","message":"Done","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"1b588811c2e3dfd1e3a20086d71a4f75edfa44af","unresolved":true,"context_lines":[{"line_number":140,"context_line":"**triple-ansible** ``tripleo_network_config`` ansible role."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Already Deployed Servers servers"},{"line_number":144,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"The Baremetal YAML definition will be used to describe the **pre-deployed**"}],"source_content_type":"text/x-rst","patch_set":11,"id":"81e57538_c4a19d35","line":143,"range":{"start_line":143,"start_character":17,"end_line":143,"end_character":32},"updated":"2020-12-01 04:16:18.000000000","message":"Servers servers","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"30499da30cb4803581b92e495d3513784252c9b6","unresolved":false,"context_lines":[{"line_number":140,"context_line":"**triple-ansible** ``tripleo_network_config`` ansible role."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Already Deployed Servers servers"},{"line_number":144,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"The Baremetal YAML definition will be used to describe the **pre-deployed**"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ddef1b3a_99129b93","line":143,"range":{"start_line":143,"start_character":17,"end_line":143,"end_character":32},"in_reply_to":"81e57538_c4a19d35","updated":"2020-12-01 12:29:59.000000000","message":"Done","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"41547d225bb011b97d6159aa034653be0eb84c6e","unresolved":true,"context_lines":[{"line_number":148,"context_line":"update, no ironic UUID to add to a port\u0027s tags and no ironic node to attach"},{"line_number":149,"context_line":"VIFs to."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"All port\u0027s, including the ctlplane port will be managed by the"},{"line_number":152,"context_line":"``tripleo_overcloud_network_ports`` ansible module. The Baremetal YAML"},{"line_number":153,"context_line":"definition for a deployment with pre-deployed servers will have to include an"},{"line_number":154,"context_line":"``instance`` entry for each pre-deployed server. This entry will have the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"b146de58_82ad6638","line":151,"range":{"start_line":151,"start_character":8,"end_line":151,"end_character":9},"updated":"2020-12-01 08:43:52.000000000","message":"remove","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"30499da30cb4803581b92e495d3513784252c9b6","unresolved":false,"context_lines":[{"line_number":148,"context_line":"update, no ironic UUID to add to a port\u0027s tags and no ironic node to attach"},{"line_number":149,"context_line":"VIFs to."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"All port\u0027s, including the ctlplane port will be managed by the"},{"line_number":152,"context_line":"``tripleo_overcloud_network_ports`` ansible module. The Baremetal YAML"},{"line_number":153,"context_line":"definition for a deployment with pre-deployed servers will have to include an"},{"line_number":154,"context_line":"``instance`` entry for each pre-deployed server. This entry will have the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"6a01b318_356dc26e","line":151,"range":{"start_line":151,"start_character":8,"end_line":151,"end_character":9},"in_reply_to":"b146de58_82ad6638","updated":"2020-12-01 12:29:59.000000000","message":"Done","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"1b588811c2e3dfd1e3a20086d71a4f75edfa44af","unresolved":true,"context_lines":[{"line_number":158,"context_line":"The deployment workflow will *short circuit* the baremetal provisioning of"},{"line_number":159,"context_line":"``pre_provsioned: true`` instances. The Baremetal YAML definition can define a"},{"line_number":160,"context_line":"mix of *already deployed server* instances, and instances that should be"},{"line_number":161,"context_line":"provisioned via metalsmith. See :ref:`baremetal_yaml_pre_provsioned`."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"YAML Examples"},{"line_number":164,"context_line":"~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":11,"id":"f3da12cd_48cb34a1","line":161,"updated":"2020-12-01 04:16:18.000000000","message":"pre_provisioned:true is fine I guess, since it uses existing TripleO semantics. I would also suggest managed:false as an alternative which draws more from Ironic semantics.\n\nIt may end up being useful for nodes which start out managed by ironic/metalsmith but for whatever reason needs to be left alone by the provision command after deployment","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"30499da30cb4803581b92e495d3513784252c9b6","unresolved":true,"context_lines":[{"line_number":158,"context_line":"The deployment workflow will *short circuit* the baremetal provisioning of"},{"line_number":159,"context_line":"``pre_provsioned: true`` instances. The Baremetal YAML definition can define a"},{"line_number":160,"context_line":"mix of *already deployed server* instances, and instances that should be"},{"line_number":161,"context_line":"provisioned via metalsmith. See :ref:`baremetal_yaml_pre_provsioned`."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"YAML Examples"},{"line_number":164,"context_line":"~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5df6d3fd_c9109898","line":161,"in_reply_to":"f3da12cd_48cb34a1","updated":"2020-12-01 12:29:59.000000000","message":"Yes, I have been going back and forth on this myself.\n\nI can change it to \u0027managed\u0027, the only thing is that we do manage the network ports in this case.\n\nIs there a case where we may need both? i.e add a managed:false which means don\u0027t provision/unprovision the server, don\u0027t create/update/delete port resources.","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"1b588811c2e3dfd1e3a20086d71a4f75edfa44af","unresolved":true,"context_lines":[{"line_number":520,"context_line":"the ``PortDeletionPolicy`` must be set to ``retain`` during the update/upgrade"},{"line_number":521,"context_line":"*prepare* step, so that the existing neutron ports (which will be adopted by"},{"line_number":522,"context_line":"the pre-heat port management workflow) are not deleted when running the update/"},{"line_number":523,"context_line":"upgrade *converge* step."},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"Moving node network configuration out of tripleo-heat-templates will require"},{"line_number":526,"context_line":"manual (or scripted) migration of settings controller by heat template"}],"source_content_type":"text/x-rst","patch_set":11,"id":"e525c6f5_223ac1f8","line":523,"updated":"2020-12-01 04:16:18.000000000","message":"It sounds like you\u0027ve seen this https://review.opendev.org/c/openstack/tripleo-heat-templates/+/701467","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"30499da30cb4803581b92e495d3513784252c9b6","unresolved":false,"context_lines":[{"line_number":520,"context_line":"the ``PortDeletionPolicy`` must be set to ``retain`` during the update/upgrade"},{"line_number":521,"context_line":"*prepare* step, so that the existing neutron ports (which will be adopted by"},{"line_number":522,"context_line":"the pre-heat port management workflow) are not deleted when running the update/"},{"line_number":523,"context_line":"upgrade *converge* step."},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"Moving node network configuration out of tripleo-heat-templates will require"},{"line_number":526,"context_line":"manual (or scripted) migration of settings controller by heat template"}],"source_content_type":"text/x-rst","patch_set":11,"id":"a1861d61_27a8fe10","line":523,"in_reply_to":"e525c6f5_223ac1f8","updated":"2020-12-01 12:29:59.000000000","message":"Yes, I got artistic inspiration from you.\nI also used it for the network/segment/subnet resources in https://review.opendev.org/c/openstack/tripleo-heat-templates/+/753473","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"41547d225bb011b97d6159aa034653be0eb84c6e","unresolved":true,"context_lines":[{"line_number":523,"context_line":"upgrade *converge* step."},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"Moving node network configuration out of tripleo-heat-templates will require"},{"line_number":526,"context_line":"manual (or scripted) migration of settings controller by heat template"},{"line_number":527,"context_line":"parameters to the input file used for baremetal/network provisioning. At least"},{"line_number":528,"context_line":"the following parameters are affected:"},{"line_number":529,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"e5b63e4c_52108bbe","line":526,"range":{"start_line":526,"start_character":52,"end_line":526,"end_character":53},"updated":"2020-12-01 08:43:52.000000000","message":"d","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"30499da30cb4803581b92e495d3513784252c9b6","unresolved":false,"context_lines":[{"line_number":523,"context_line":"upgrade *converge* step."},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"Moving node network configuration out of tripleo-heat-templates will require"},{"line_number":526,"context_line":"manual (or scripted) migration of settings controller by heat template"},{"line_number":527,"context_line":"parameters to the input file used for baremetal/network provisioning. At least"},{"line_number":528,"context_line":"the following parameters are affected:"},{"line_number":529,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"ef56e73c_c41f87ab","line":526,"range":{"start_line":526,"start_character":52,"end_line":526,"end_character":53},"in_reply_to":"e5b63e4c_52108bbe","updated":"2020-12-01 12:29:59.000000000","message":"Done","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"1b588811c2e3dfd1e3a20086d71a4f75edfa44af","unresolved":true,"context_lines":[{"line_number":589,"context_line":""},{"line_number":590,"context_line":"#. **Not changing how ports are created**"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"   In this case we keep creating the ports with heat, the do notghing"},{"line_number":593,"context_line":"   alternative."},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"#. **Create a completely separate workflow for composable network ports**"}],"source_content_type":"text/x-rst","patch_set":11,"id":"285e96c6_35bb1923","line":592,"range":{"start_line":592,"start_character":61,"end_line":592,"end_character":69},"updated":"2020-12-01 04:16:18.000000000","message":"nothing","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"30499da30cb4803581b92e495d3513784252c9b6","unresolved":false,"context_lines":[{"line_number":589,"context_line":""},{"line_number":590,"context_line":"#. **Not changing how ports are created**"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"   In this case we keep creating the ports with heat, the do notghing"},{"line_number":593,"context_line":"   alternative."},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"#. **Create a completely separate workflow for composable network ports**"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ea928e62_75ff96d1","line":592,"range":{"start_line":592,"start_character":61,"end_line":592,"end_character":69},"in_reply_to":"285e96c6_35bb1923","updated":"2020-12-01 12:29:59.000000000","message":"Done","commit_id":"ec8c7e3103ae5004dda70f11e9d4f254f1cf49d5"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"cee0a47b54649bc2b74da72e6a78395348428f30","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to create ports for large scale deployments; neutron on the single"},{"line_number":24,"context_line":"node undercloud gets overwhelmed and it is difficult to throttle port creation"},{"line_number":25,"context_line":"in Heat."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ee48363b_4c1c0c89","line":25,"range":{"start_line":23,"start_character":57,"end_line":25,"end_character":7},"updated":"2020-12-03 04:48:51.000000000","message":"As this is a kind of neutron problem on high concurrency, how are we planning to address it and still reduce or keep the same deployment time at scale?","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"70492a91d0e409a8d76c091f1315c3ff41bf9999","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to create ports for large scale deployments; neutron on the single"},{"line_number":24,"context_line":"node undercloud gets overwhelmed and it is difficult to throttle port creation"},{"line_number":25,"context_line":"in Heat."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"c26ce4fb_4f553db0","line":25,"range":{"start_line":23,"start_character":57,"end_line":25,"end_character":7},"in_reply_to":"00e18bbe_8451d292","updated":"2020-12-04 12:53:02.000000000","message":"I actually think the node + ports provisioning as implemented in the WiP patches would be able to deploy 1000 nodes and it\u0027s ports in one go. With the concurrency setting in the ansible modules we control how many nodes and ports we try to provision in parallel so it would just churn trough. (I did try 1000 nodes \u003d 3000 ports with my ansible module to create ports, and it ran trough. A VM, on my laptop with 8 vCPU\u0027s the create took: real 17m35.103s to create the 3000 ports.\n\nThe node provisioning and port provisioning could be \"paralellized\" simply by running them as async tasks in ansible. That means we\u0027ll be finished creating ports way before baremetal provisioning is done in any case.\n\nThe question is will we still have to update the heat stack in incremements, or will the pre-provisioned nodes and ports allow Heat to churn trough 1000 nodes. Was\u0027nt the problem with heat that the stack create/update operation has a timeout that we would always hit when waiting for so many baremetal\u0027s to be provisioned?","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"33f1c8e2a06e0b860c3ce1ad7e746e9e2e22494e","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to create ports for large scale deployments; neutron on the single"},{"line_number":24,"context_line":"node undercloud gets overwhelmed and it is difficult to throttle port creation"},{"line_number":25,"context_line":"in Heat."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"76ee75ef_bfc9f9a3","line":25,"range":{"start_line":23,"start_character":57,"end_line":25,"end_character":7},"in_reply_to":"c26ce4fb_4f553db0","updated":"2020-12-04 13:13:56.000000000","message":"\u003e The question is will we still have to update the heat stack in incremements, or will the pre-provisioned nodes and ports allow Heat to churn trough 1000 nodes.\n\nHeat can use high concurrency since OSP13 with increased number of workers. The issue has been throttling it for specific resources as heat treats every resource as equal.\n\n\u003e Was\u0027nt the problem with heat that the stack create/update operation has a timeout that we would always hit when waiting for so many baremetal\u0027s to be provisioned?\n\nHeat stack create/update timeout is configurable from the beginning and I\u0027ve never seen it timing out for provisioning large number baremetal of nodes unless nova does not report back an error. The only issue I know was with neutron with higher concurrency (as mentioned earlier) since OSP13. If that can throttled with configurable concurrency in the ansible module with proper error handling, then it should be fine I guess.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"533db38e09b1cd8c6e5f3635064aef33e5582b52","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to create ports for large scale deployments; neutron on the single"},{"line_number":24,"context_line":"node undercloud gets overwhelmed and it is difficult to throttle port creation"},{"line_number":25,"context_line":"in Heat."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"00e18bbe_8451d292","line":25,"range":{"start_line":23,"start_character":57,"end_line":25,"end_character":7},"in_reply_to":"e0806101_4c6c0934","updated":"2020-12-04 03:06:47.000000000","message":"\u003e Scaling in increments when deploying large clouds.\n\nIMO, a single baremetal yaml provided (with all node details), but then be able to provision both nodes/network ports in batches would be required and the whole operation has to be idempotent as it is now for nodes.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bc0a9949fa5bcfae8afd25e386190f0aa0df584","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Applying a network change on day 2, currently requires a full stack update"},{"line_number":22,"context_line":"since network resources such as ports are managed by heat. It has also been"},{"line_number":23,"context_line":"problematic to create ports for large scale deployments; neutron on the single"},{"line_number":24,"context_line":"node undercloud gets overwhelmed and it is difficult to throttle port creation"},{"line_number":25,"context_line":"in Heat."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"e0806101_4c6c0934","line":25,"range":{"start_line":23,"start_character":57,"end_line":25,"end_character":7},"in_reply_to":"ee48363b_4c1c0c89","updated":"2020-12-03 07:14:11.000000000","message":"I did a tiny bit of performance testing using the ansible module that will create ports:\nhttps://review.opendev.org/c/openstack/tripleo-ansible/+/761908\n\nIt\u0027s using threads for concurrency, and many CPU cores and higher CPU clock seem to make a difference. And also tuning the number of threads.\n\nBoth tests ran on libvirt/openstack virtual machine.\n\nCreate 300 ports in ~2 minutes, and updating them in just ~5-10 seconds. I think we recoment scaling in increments when deploying large clouds, so deploy in increments of 100 computes with default network isolation will spend ~2 minutes on port creation. Hopefully this is better than what we got with Heat.\n\nIt would also be good to try such a test run on some real server hardware that is similar to what we expect large scale operators would use for their Undercloud.\n\n\nPerformance stats: 100 nodes x 3 networks \u003d 300 ports\n\n        4xCPU 1.8 GHz (8GB)             8x CPU 2.6 GHz (12GB)\n        -------------------  --------------------------------\nConcurr:                 10          20         10          4\n........     ..............   .........  .........  .........\nCreate       real 5m58.006s   1m48.518s  1m51.998s  1m25.022s\nDelete:      real 4m12.812s   0m47.475s  0m48.956s  1m19.543s\nRe-run:      real 0m19.386s    0m4.389s   0m4.453s   0m4.977s\n\nNOTE: On slow system concurrency ~15 resulted in 504 Gateway\n      timeout. On the faster ~30 caused 504 GW timeout.\n      It\u0027s also not neccecarily better to use a high number,\n      but using concurrency \u003d 1 is way slower.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"cee0a47b54649bc2b74da72e6a78395348428f30","unresolved":true,"context_lines":[{"line_number":41,"context_line":"The deploy workflow would be:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"#. Operator deploys composable networks"},{"line_number":44,"context_line":"#. Operator deploys baremetal nodes (This also configured networking on the"},{"line_number":45,"context_line":"   nodes using ansible role to apply network config with os-net-config [2]_)"},{"line_number":46,"context_line":"#. Operator deploys heat stack"},{"line_number":47,"context_line":"#. Operator executes config-download to install and configure openstack on the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fdac65b3_6383afba","line":44,"range":{"start_line":44,"start_character":47,"end_line":44,"end_character":57},"updated":"2020-12-03 04:48:51.000000000","message":"configures","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"825be81c0d229b4e6e051b6cab21a9a58ecdccb5","unresolved":false,"context_lines":[{"line_number":41,"context_line":"The deploy workflow would be:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"#. Operator deploys composable networks"},{"line_number":44,"context_line":"#. Operator deploys baremetal nodes (This also configured networking on the"},{"line_number":45,"context_line":"   nodes using ansible role to apply network config with os-net-config [2]_)"},{"line_number":46,"context_line":"#. Operator deploys heat stack"},{"line_number":47,"context_line":"#. Operator executes config-download to install and configure openstack on the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"57407ef2_e688443b","line":44,"range":{"start_line":44,"start_character":47,"end_line":44,"end_character":57},"in_reply_to":"fdac65b3_6383afba","updated":"2020-12-03 07:52:39.000000000","message":"Done","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"cee0a47b54649bc2b74da72e6a78395348428f30","unresolved":true,"context_lines":[{"line_number":135,"context_line":"``tripleo_baremetal_expand_roles`` ansible module will be extended to add"},{"line_number":136,"context_line":"network/subnet information from the baremetal deployment YAML definition."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"The baremetal provision workflow will be extended to write a ansible inventory"},{"line_number":139,"context_line":"which will be used to configure networking on the provisioned nodes using the"},{"line_number":140,"context_line":"**triple-ansible** ``tripleo_network_config`` ansible role."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Already Deployed Servers"}],"source_content_type":"text/x-rst","patch_set":13,"id":"eec823d9_45805a89","line":140,"range":{"start_line":138,"start_character":0,"end_line":140,"end_character":59},"updated":"2020-12-03 04:48:51.000000000","message":"Currently ansible inventory is generated as part of the config-download. Is this inventory going to be a separate one or it has to be merged/re-used by config-download?","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"825be81c0d229b4e6e051b6cab21a9a58ecdccb5","unresolved":false,"context_lines":[{"line_number":135,"context_line":"``tripleo_baremetal_expand_roles`` ansible module will be extended to add"},{"line_number":136,"context_line":"network/subnet information from the baremetal deployment YAML definition."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"The baremetal provision workflow will be extended to write a ansible inventory"},{"line_number":139,"context_line":"which will be used to configure networking on the provisioned nodes using the"},{"line_number":140,"context_line":"**triple-ansible** ``tripleo_network_config`` ansible role."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Already Deployed Servers"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5aba80f1_494c4094","line":140,"range":{"start_line":138,"start_character":0,"end_line":140,"end_character":59},"in_reply_to":"da0765b1_3a1f7641","updated":"2020-12-03 07:52:39.000000000","message":"I updated here mentioning that we shold tru to use tripleo-ansible-inventory to not make duplicate code/process/tools.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bc0a9949fa5bcfae8afd25e386190f0aa0df584","unresolved":true,"context_lines":[{"line_number":135,"context_line":"``tripleo_baremetal_expand_roles`` ansible module will be extended to add"},{"line_number":136,"context_line":"network/subnet information from the baremetal deployment YAML definition."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"The baremetal provision workflow will be extended to write a ansible inventory"},{"line_number":139,"context_line":"which will be used to configure networking on the provisioned nodes using the"},{"line_number":140,"context_line":"**triple-ansible** ``tripleo_network_config`` ansible role."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Already Deployed Servers"}],"source_content_type":"text/x-rst","patch_set":13,"id":"da0765b1_3a1f7641","line":140,"range":{"start_line":138,"start_character":0,"end_line":140,"end_character":59},"in_reply_to":"eec823d9_45805a89","updated":"2020-12-03 07:14:11.000000000","message":"My plan is to use a completely separate inventory here. All the things will be fed to heat, so that the stack output can be used by config-download to create it\u0027s ansible inventory.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"ba5ad08948b63b4edb28d4f748e5732553069118","unresolved":true,"context_lines":[{"line_number":153,"context_line":"definition for a deployment with pre-deployed servers will have to include an"},{"line_number":154,"context_line":"``instance`` entry for each pre-deployed server. This entry will have the"},{"line_number":155,"context_line":"``managed`` key set to ``false``. The ctlplane network entry for pre-"},{"line_number":156,"context_line":"deployed instances must have ``fixed_ip`` configured."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"The deployment workflow will *short circuit* the baremetal provisioning of"},{"line_number":159,"context_line":"``managed: false`` instances. The Baremetal YAML definition can define a"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ce20d922_76137d54","line":156,"updated":"2020-12-02 22:41:29.000000000","message":"why is this a requirement?\n\ni don\u0027t think it\u0027s a requirement today. You could manage the nodes over the management network (or any custom network where the IP\u0027s are already assigned), and then let Heat create ctlplane ports and then whatever IP is assigned by Neutron gets used as the ctlplane IP for the node.\n\nctlplane ports are only mapped out with deployed-server when environments/deployed-neutron-port.yaml is also included, in which case you would use DeployedServerPortMap to tell Heat about the fixed IP\u0027s on the ctllpane network.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"825be81c0d229b4e6e051b6cab21a9a58ecdccb5","unresolved":false,"context_lines":[{"line_number":153,"context_line":"definition for a deployment with pre-deployed servers will have to include an"},{"line_number":154,"context_line":"``instance`` entry for each pre-deployed server. This entry will have the"},{"line_number":155,"context_line":"``managed`` key set to ``false``. The ctlplane network entry for pre-"},{"line_number":156,"context_line":"deployed instances must have ``fixed_ip`` configured."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"The deployment workflow will *short circuit* the baremetal provisioning of"},{"line_number":159,"context_line":"``managed: false`` instances. The Baremetal YAML definition can define a"}],"source_content_type":"text/x-rst","patch_set":13,"id":"22c238b3_0b1fbb79","line":156,"in_reply_to":"ca67cb73_c4545a81","updated":"2020-12-03 07:52:39.000000000","message":"I updated this section to include the \u0027management_ip\u0027 usecase.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bc0a9949fa5bcfae8afd25e386190f0aa0df584","unresolved":true,"context_lines":[{"line_number":153,"context_line":"definition for a deployment with pre-deployed servers will have to include an"},{"line_number":154,"context_line":"``instance`` entry for each pre-deployed server. This entry will have the"},{"line_number":155,"context_line":"``managed`` key set to ``false``. The ctlplane network entry for pre-"},{"line_number":156,"context_line":"deployed instances must have ``fixed_ip`` configured."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"The deployment workflow will *short circuit* the baremetal provisioning of"},{"line_number":159,"context_line":"``managed: false`` instances. The Baremetal YAML definition can define a"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ca67cb73_c4545a81","line":156,"in_reply_to":"ce20d922_76137d54","updated":"2020-12-03 07:14:11.000000000","message":"Your are bringing up a good point here James! I had not considered a pre-deployed node with a completely separate management interface. We should consider adding a \u0027managment_ip\u0027 field in the instance schema and relax this constraint to only apply if that is not set.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"ba5ad08948b63b4edb28d4f748e5732553069118","unresolved":true,"context_lines":[{"line_number":307,"context_line":"        template: templates/multiple_nics/multiple_nics.j2"},{"line_number":308,"context_line":"      networks:"},{"line_number":309,"context_line":"        - network: ctlplane"},{"line_number":310,"context_line":"          vif: true"},{"line_number":311,"context_line":"        - network: external"},{"line_number":312,"context_line":"          subnet: external_subnet"},{"line_number":313,"context_line":"        - network: internal_api"}],"source_content_type":"text/x-rst","patch_set":13,"id":"490a9897_25c89f67","line":310,"updated":"2020-12-02 22:41:29.000000000","message":"for deployed servers, shouldn\u0027t vif be omitted or set to false?","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"825be81c0d229b4e6e051b6cab21a9a58ecdccb5","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        template: templates/multiple_nics/multiple_nics.j2"},{"line_number":308,"context_line":"      networks:"},{"line_number":309,"context_line":"        - network: ctlplane"},{"line_number":310,"context_line":"          vif: true"},{"line_number":311,"context_line":"        - network: external"},{"line_number":312,"context_line":"          subnet: external_subnet"},{"line_number":313,"context_line":"        - network: internal_api"}],"source_content_type":"text/x-rst","patch_set":13,"id":"4306a2e3_fd56fbd2","line":310,"in_reply_to":"36c6ab3d_9c2783f0","updated":"2020-12-03 07:52:39.000000000","message":"FWIW, I removed it in the \"Controller\" section of this example as Controller\u0027s have 3 instances \u003d\u003d count.\nBut kept it in the Compute section, which have cound \u003d\u003d 10, and only 1 managed: false instance.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bc0a9949fa5bcfae8afd25e386190f0aa0df584","unresolved":true,"context_lines":[{"line_number":307,"context_line":"        template: templates/multiple_nics/multiple_nics.j2"},{"line_number":308,"context_line":"      networks:"},{"line_number":309,"context_line":"        - network: ctlplane"},{"line_number":310,"context_line":"          vif: true"},{"line_number":311,"context_line":"        - network: external"},{"line_number":312,"context_line":"          subnet: external_subnet"},{"line_number":313,"context_line":"        - network: internal_api"}],"source_content_type":"text/x-rst","patch_set":13,"id":"36c6ab3d_9c2783f0","line":310,"in_reply_to":"490a9897_25c89f67","updated":"2020-12-03 07:14:11.000000000","message":"Not at the role level, but since vif is not set in instances section below vif won\u0027t be set.\nHaving vif: true at the role level enable using a mix of managed/unmanaged instances within the same role.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"fad4a3430eef739f7ee36345b26c48cb90e64245","unresolved":true,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"   Create an ansible inventory, similar to the inventory created by config-"},{"line_number":488,"context_line":"   download. The ansible inventory is required to apply network"},{"line_number":489,"context_line":"   configuration to the deployed nodes."},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"#. Extend baremetal provisioning workflow to create neutron ports and"},{"line_number":492,"context_line":"   update the ironic node ``extra`` field with the ``tripleo_networks`` map."}],"source_content_type":"text/x-rst","patch_set":13,"id":"7bcec668_7ce375fd","line":489,"updated":"2020-12-02 21:55:05.000000000","message":"can we make tripleo-ansible-inventory do this? or modify config-download to use the new inventory generated by the baremetal workflow?\n\npoint being...let\u0027s not have 2 places where we generate inventories, and then use different ones at different times.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"825be81c0d229b4e6e051b6cab21a9a58ecdccb5","unresolved":false,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"   Create an ansible inventory, similar to the inventory created by config-"},{"line_number":488,"context_line":"   download. The ansible inventory is required to apply network"},{"line_number":489,"context_line":"   configuration to the deployed nodes."},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"#. Extend baremetal provisioning workflow to create neutron ports and"},{"line_number":492,"context_line":"   update the ironic node ``extra`` field with the ``tripleo_networks`` map."}],"source_content_type":"text/x-rst","patch_set":13,"id":"3db86ecf_6d371335","line":489,"in_reply_to":"79fec450_0d4b8087","updated":"2020-12-03 07:52:39.000000000","message":"Updated to mention we should try to extend (re-use) existing tripleo-ansible-inventory for this.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"cee0a47b54649bc2b74da72e6a78395348428f30","unresolved":true,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"   Create an ansible inventory, similar to the inventory created by config-"},{"line_number":488,"context_line":"   download. The ansible inventory is required to apply network"},{"line_number":489,"context_line":"   configuration to the deployed nodes."},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"#. Extend baremetal provisioning workflow to create neutron ports and"},{"line_number":492,"context_line":"   update the ironic node ``extra`` field with the ``tripleo_networks`` map."}],"source_content_type":"text/x-rst","patch_set":13,"id":"fe6b6c19_a3cd475a","line":489,"in_reply_to":"7bcec668_7ce375fd","updated":"2020-12-03 04:48:51.000000000","message":"+1, I\u0027ve also commented about this in an earlier section.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bc0a9949fa5bcfae8afd25e386190f0aa0df584","unresolved":true,"context_lines":[{"line_number":486,"context_line":""},{"line_number":487,"context_line":"   Create an ansible inventory, similar to the inventory created by config-"},{"line_number":488,"context_line":"   download. The ansible inventory is required to apply network"},{"line_number":489,"context_line":"   configuration to the deployed nodes."},{"line_number":490,"context_line":""},{"line_number":491,"context_line":"#. Extend baremetal provisioning workflow to create neutron ports and"},{"line_number":492,"context_line":"   update the ironic node ``extra`` field with the ``tripleo_networks`` map."}],"source_content_type":"text/x-rst","patch_set":13,"id":"79fec450_0d4b8087","line":489,"in_reply_to":"fe6b6c19_a3cd475a","updated":"2020-12-03 07:14:11.000000000","message":"To be honest I did\u0027nt put a massive amount of thinking on how/where to implement this yet.\nIf config-download is using tripleo-ansible-inventory already, at first glance extending it sounds like a good idea.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"fad4a3430eef739f7ee36345b26c48cb90e64245","unresolved":true,"context_lines":[{"line_number":506,"context_line":"#. Change the Undercloud ans Standalone deploy to apply network configuration"},{"line_number":507,"context_line":"   prior to the creating the ephemeral heat stack using the"},{"line_number":508,"context_line":"   ``tripleo_network_config`` ansible role."},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"Testing"},{"line_number":511,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":512,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"064beb45_4a01a918","line":509,"updated":"2020-12-02 21:55:05.000000000","message":"won\u0027t \"overcloud node extract provisioned\" need to be updated to add managed:false to nodes using deployed-server?\n\nI just ran the command against my deployed-server environment, and it does create the nodes in the yaml file, so if we were to run that back through the baremetal provision workflow, I assume it would try and provision the nodes.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"6bc0a9949fa5bcfae8afd25e386190f0aa0df584","unresolved":true,"context_lines":[{"line_number":506,"context_line":"#. Change the Undercloud ans Standalone deploy to apply network configuration"},{"line_number":507,"context_line":"   prior to the creating the ephemeral heat stack using the"},{"line_number":508,"context_line":"   ``tripleo_network_config`` ansible role."},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"Testing"},{"line_number":511,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":512,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"daafbdaa_3b800632","line":509,"in_reply_to":"064beb45_4a01a918","updated":"2020-12-03 07:14:11.000000000","message":"Hm, this sounds like a bug in \"overcloud node extract provisioned\" regardless of this spec?\nI\u0027d like @stevebaker to comment.","commit_id":"004580cafb1c147abfe9054876c5b6d6174fe04c"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1d0907e11c885fa6fb13ad78f47044a763c7d7a","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The deploy workflow would be:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. Operator deploys composable networks"},{"line_number":57,"context_line":"#. Operator deploys baremetal nodes (This also configures networking on the"},{"line_number":58,"context_line":"   nodes using ansible role to apply network config with os-net-config [2]_)"},{"line_number":59,"context_line":"#. Operator deploys heat stack"}],"source_content_type":"text/x-rst","patch_set":14,"id":"44ceaedc_005cc29f","line":56,"range":{"start_line":56,"start_character":3,"end_line":56,"end_character":39},"updated":"2020-12-07 20:00:06.000000000","message":"Is \"defines\" a better word than \"deploys\" here? \n\nFrom what I read it seems the standard input to `openstack overcloud node provision .. definition.yaml` will be extended so include the additional network information. Thus, this first step sounds like defining those networks in that input file. \n\nIf I\u0027ve misunderstood and there is an actual command to run here to deploy those composable networks then what would it look like and do?","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The deploy workflow would be:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. Operator deploys composable networks"},{"line_number":57,"context_line":"#. Operator deploys baremetal nodes (This also configures networking on the"},{"line_number":58,"context_line":"   nodes using ansible role to apply network config with os-net-config [2]_)"},{"line_number":59,"context_line":"#. Operator deploys heat stack"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9056cacf_e45a91b3","line":56,"range":{"start_line":56,"start_character":3,"end_line":56,"end_character":39},"in_reply_to":"44ceaedc_005cc29f","updated":"2020-12-08 11:56:07.000000000","message":"The command to deploy the composable networks is `openstack overcloud network provision`.\nHere is the doc\u0027s change covering network provision: https://review.opendev.org/c/openstack/tripleo-docs/+/765254\n\nI updated adding a initial step to define composable networks in network data YAML.","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"77b6f3bf69f0317c6b448b4dc963c47e6ced2469","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The deploy workflow would be:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. Operator deploys composable networks"},{"line_number":57,"context_line":"#. Operator deploys baremetal nodes (This also configures networking on the"},{"line_number":58,"context_line":"   nodes using ansible role to apply network config with os-net-config [2]_)"},{"line_number":59,"context_line":"#. Operator deploys heat stack"}],"source_content_type":"text/x-rst","patch_set":14,"id":"d0249dd6_fda51b2b","line":56,"range":{"start_line":56,"start_character":3,"end_line":56,"end_character":39},"in_reply_to":"9056cacf_e45a91b3","updated":"2020-12-08 19:50:13.000000000","message":"Thanks for the clarification.","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1d0907e11c885fa6fb13ad78f47044a763c7d7a","unresolved":true,"context_lines":[{"line_number":54,"context_line":"The deploy workflow would be:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. Operator deploys composable networks"},{"line_number":57,"context_line":"#. Operator deploys baremetal nodes (This also configures networking on the"},{"line_number":58,"context_line":"   nodes using ansible role to apply network config with os-net-config [2]_)"},{"line_number":59,"context_line":"#. Operator deploys heat stack"},{"line_number":60,"context_line":"#. Operator executes config-download to install and configure openstack on the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"6a587d85_9d01bb11","line":57,"range":{"start_line":57,"start_character":3,"end_line":57,"end_character":35},"updated":"2020-12-07 20:00:06.000000000","message":"by running `openstack overcloud node provision` (might as well make that very clear).","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":false,"context_lines":[{"line_number":54,"context_line":"The deploy workflow would be:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. Operator deploys composable networks"},{"line_number":57,"context_line":"#. Operator deploys baremetal nodes (This also configures networking on the"},{"line_number":58,"context_line":"   nodes using ansible role to apply network config with os-net-config [2]_)"},{"line_number":59,"context_line":"#. Operator deploys heat stack"},{"line_number":60,"context_line":"#. Operator executes config-download to install and configure openstack on the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"262f164e_ec048bbc","line":57,"range":{"start_line":57,"start_character":3,"end_line":57,"end_character":35},"in_reply_to":"6a587d85_9d01bb11","updated":"2020-12-08 11:56:07.000000000","message":"Done","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1d0907e11c885fa6fb13ad78f47044a763c7d7a","unresolved":true,"context_lines":[{"line_number":54,"context_line":"The deploy workflow would be:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. Operator deploys composable networks"},{"line_number":57,"context_line":"#. Operator deploys baremetal nodes (This also configures networking on the"},{"line_number":58,"context_line":"   nodes using ansible role to apply network config with os-net-config [2]_)"},{"line_number":59,"context_line":"#. Operator deploys heat stack"},{"line_number":60,"context_line":"#. Operator executes config-download to install and configure openstack on the"},{"line_number":61,"context_line":"   overcloud nodes."}],"source_content_type":"text/x-rst","patch_set":14,"id":"836b0305_bbe96cdd","line":58,"range":{"start_line":57,"start_character":47,"end_line":58,"end_character":8},"updated":"2020-12-07 20:00:06.000000000","message":"Does this network configuration include the composable networks too? \n\nSo after metalsmith deploys the node and it comes up with its ctlplane IP does the same command also run the new ansible roles?","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"77b6f3bf69f0317c6b448b4dc963c47e6ced2469","unresolved":false,"context_lines":[{"line_number":54,"context_line":"The deploy workflow would be:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. Operator deploys composable networks"},{"line_number":57,"context_line":"#. Operator deploys baremetal nodes (This also configures networking on the"},{"line_number":58,"context_line":"   nodes using ansible role to apply network config with os-net-config [2]_)"},{"line_number":59,"context_line":"#. Operator deploys heat stack"},{"line_number":60,"context_line":"#. Operator executes config-download to install and configure openstack on the"},{"line_number":61,"context_line":"   overcloud nodes."}],"source_content_type":"text/x-rst","patch_set":14,"id":"c8da4443_5aad651d","line":58,"range":{"start_line":57,"start_character":47,"end_line":58,"end_character":8},"in_reply_to":"1f0b66a1_92420028","updated":"2020-12-08 19:50:13.000000000","message":"yes, that makes it clearer.","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":false,"context_lines":[{"line_number":54,"context_line":"The deploy workflow would be:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"#. Operator deploys composable networks"},{"line_number":57,"context_line":"#. Operator deploys baremetal nodes (This also configures networking on the"},{"line_number":58,"context_line":"   nodes using ansible role to apply network config with os-net-config [2]_)"},{"line_number":59,"context_line":"#. Operator deploys heat stack"},{"line_number":60,"context_line":"#. Operator executes config-download to install and configure openstack on the"},{"line_number":61,"context_line":"   overcloud nodes."}],"source_content_type":"text/x-rst","patch_set":14,"id":"1f0b66a1_92420028","line":58,"range":{"start_line":57,"start_character":47,"end_line":58,"end_character":8},"in_reply_to":"836b0305_bbe96cdd","updated":"2020-12-08 11:56:07.000000000","message":"Yes, that\u0027s the plan.\nI made a little update in this section to be more explicit.","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"a0774255ae3b133c3470efbbc2c3d1f196544918","unresolved":true,"context_lines":[{"line_number":360,"context_line":"        template: templates/multiple_nics/multiple_nics.j2"},{"line_number":361,"context_line":"      networks:"},{"line_number":362,"context_line":"        - network: ctlplane"},{"line_number":363,"context_line":"          vif: true"},{"line_number":364,"context_line":"        - network: internal_api"},{"line_number":365,"context_line":"          subnet: internal_api_subnet"},{"line_number":366,"context_line":"        - network: tenant"}],"source_content_type":"text/x-rst","patch_set":14,"id":"13f73c57_94f7d509","line":363,"range":{"start_line":363,"start_character":11,"end_line":363,"end_character":19},"updated":"2020-12-08 08:04:35.000000000","message":"this one a nit? (per the description above in this scenario we don\u0027t have vif )","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        template: templates/multiple_nics/multiple_nics.j2"},{"line_number":361,"context_line":"      networks:"},{"line_number":362,"context_line":"        - network: ctlplane"},{"line_number":363,"context_line":"          vif: true"},{"line_number":364,"context_line":"        - network: internal_api"},{"line_number":365,"context_line":"          subnet: internal_api_subnet"},{"line_number":366,"context_line":"        - network: tenant"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5458bc5b_719b0d4c","line":363,"range":{"start_line":363,"start_character":11,"end_line":363,"end_character":19},"in_reply_to":"13f73c57_94f7d509","updated":"2020-12-08 11:56:07.000000000","message":"Ideally we should be able to mix pre-deployed and baremetal provisioned nodes within a role.\nSetting the \"vif: true\" on the role defaults is in that case correct. Each instance below overrides the defaults for the \u0027ctlplane\u0027 network entry. \n\nAnyhow, this is the second comment regarding this example and the \u0027vif\u0027 key here. I decided to change the example, removing vif: true in the role defaults, adding a second instance and reduced count for Compute to 2.","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1d0907e11c885fa6fb13ad78f47044a763c7d7a","unresolved":true,"context_lines":[{"line_number":506,"context_line":"   Create an ansible inventory, similar to the inventory created by config-"},{"line_number":507,"context_line":"   download. The ansible inventory is required to apply network"},{"line_number":508,"context_line":"   configuration to the deployed nodes."},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"   We should try extend tripleo-ansible-inventory so that the baremetal"},{"line_number":511,"context_line":"   provisioning workflow can re-use existing code to create the inventory."},{"line_number":512,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"bcb794e3_fd9c0765","line":509,"updated":"2020-12-07 20:00:06.000000000","message":"There is a good opportunity for overlap here since I was also looking to have an ansible inventory for ceph configuration prior to config-download [1]. It probably makes sense to also create the tripleo-admin user here. I think you\u0027ll only have heat-admin by default from metalsmith so creating tripleo-admin earlier might be better than creating tripleo-network, tripleo-ceph and then tripleo-admin. Shouldn\u0027t be too hard to create the user with the existing workflow. \n\n[1] https://specs.openstack.org/openstack/tripleo-specs/specs/wallaby/tripleo-ceph.html#ansible-inventory-and-ansible-user\n\n[2] https://review.opendev.org/c/openstack/tripleo-ansible/+/760462","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"77b6f3bf69f0317c6b448b4dc963c47e6ced2469","unresolved":true,"context_lines":[{"line_number":506,"context_line":"   Create an ansible inventory, similar to the inventory created by config-"},{"line_number":507,"context_line":"   download. The ansible inventory is required to apply network"},{"line_number":508,"context_line":"   configuration to the deployed nodes."},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"   We should try extend tripleo-ansible-inventory so that the baremetal"},{"line_number":511,"context_line":"   provisioning workflow can re-use existing code to create the inventory."},{"line_number":512,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"b3fa433e_15ef11c9","line":509,"in_reply_to":"88075d70_3e07e1e0","updated":"2020-12-08 19:50:13.000000000","message":"I\u0027ll check that out, thanks.","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":true,"context_lines":[{"line_number":506,"context_line":"   Create an ansible inventory, similar to the inventory created by config-"},{"line_number":507,"context_line":"   download. The ansible inventory is required to apply network"},{"line_number":508,"context_line":"   configuration to the deployed nodes."},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"   We should try extend tripleo-ansible-inventory so that the baremetal"},{"line_number":511,"context_line":"   provisioning workflow can re-use existing code to create the inventory."},{"line_number":512,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"88075d70_3e07e1e0","line":509,"in_reply_to":"bcb794e3_fd9c0765","updated":"2020-12-08 11:56:07.000000000","message":"Thanks, I\u0027ll review that change.\n\nI made an update mentioning the triple_create_admin role here, I agree it likely makes sense to run that in this step to create the \u0027tripleo-admin\u0027 user.\n\nbtw, here is a change refeactoring the \u0027tripleo-ansible-inventory\u0027 code to use neutron as well as heat stack as a source to build inventory. I think the \u0027setdefaults\u0027 pattern could also be used to add a step injecting ceph configuration from some source.\nhttps://review.opendev.org/c/openstack/tripleo-common/+/765902","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1d0907e11c885fa6fb13ad78f47044a763c7d7a","unresolved":true,"context_lines":[{"line_number":507,"context_line":"   download. The ansible inventory is required to apply network"},{"line_number":508,"context_line":"   configuration to the deployed nodes."},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"   We should try extend tripleo-ansible-inventory so that the baremetal"},{"line_number":511,"context_line":"   provisioning workflow can re-use existing code to create the inventory."},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"#. Extend baremetal provisioning workflow to create neutron ports and"}],"source_content_type":"text/x-rst","patch_set":14,"id":"f2282534_6984abc3","line":510,"range":{"start_line":510,"start_character":13,"end_line":510,"end_character":23},"updated":"2020-12-07 20:00:06.000000000","message":"try to extend","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":false,"context_lines":[{"line_number":507,"context_line":"   download. The ansible inventory is required to apply network"},{"line_number":508,"context_line":"   configuration to the deployed nodes."},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"   We should try extend tripleo-ansible-inventory so that the baremetal"},{"line_number":511,"context_line":"   provisioning workflow can re-use existing code to create the inventory."},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"#. Extend baremetal provisioning workflow to create neutron ports and"}],"source_content_type":"text/x-rst","patch_set":14,"id":"06e8f526_6717086f","line":510,"range":{"start_line":510,"start_character":13,"end_line":510,"end_character":23},"in_reply_to":"f2282534_6984abc3","updated":"2020-12-08 11:56:07.000000000","message":"Done","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1d0907e11c885fa6fb13ad78f47044a763c7d7a","unresolved":true,"context_lines":[{"line_number":513,"context_line":"#. Extend baremetal provisioning workflow to create neutron ports and"},{"line_number":514,"context_line":"   update the ironic node ``extra`` field with the ``tripleo_networks`` map."},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"#. The baremetal provisioning workflow need a *pre-deployed-server* option"},{"line_number":517,"context_line":"   that cause it to not deploy baremetal nodes, only create network ports."},{"line_number":518,"context_line":"   When this option is used a YAML describing the already provisioned nodes"},{"line_number":519,"context_line":"   must be provided."}],"source_content_type":"text/x-rst","patch_set":14,"id":"94421514_0aeddd0d","line":516,"range":{"start_line":516,"start_character":39,"end_line":516,"end_character":43},"updated":"2020-12-07 20:00:06.000000000","message":"needs","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":false,"context_lines":[{"line_number":513,"context_line":"#. Extend baremetal provisioning workflow to create neutron ports and"},{"line_number":514,"context_line":"   update the ironic node ``extra`` field with the ``tripleo_networks`` map."},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"#. The baremetal provisioning workflow need a *pre-deployed-server* option"},{"line_number":517,"context_line":"   that cause it to not deploy baremetal nodes, only create network ports."},{"line_number":518,"context_line":"   When this option is used a YAML describing the already provisioned nodes"},{"line_number":519,"context_line":"   must be provided."}],"source_content_type":"text/x-rst","patch_set":14,"id":"90ce0145_48e61045","line":516,"range":{"start_line":516,"start_character":39,"end_line":516,"end_character":43},"in_reply_to":"94421514_0aeddd0d","updated":"2020-12-08 11:56:07.000000000","message":"Done","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1d0907e11c885fa6fb13ad78f47044a763c7d7a","unresolved":true,"context_lines":[{"line_number":515,"context_line":""},{"line_number":516,"context_line":"#. The baremetal provisioning workflow need a *pre-deployed-server* option"},{"line_number":517,"context_line":"   that cause it to not deploy baremetal nodes, only create network ports."},{"line_number":518,"context_line":"   When this option is used a YAML describing the already provisioned nodes"},{"line_number":519,"context_line":"   must be provided."},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"#. Apply and validate network configuration using the **triple-ansible**"}],"source_content_type":"text/x-rst","patch_set":14,"id":"28ab09e9_a7c012de","line":518,"range":{"start_line":518,"start_character":28,"end_line":518,"end_character":35},"updated":"2020-12-07 20:00:06.000000000","message":"a YAML file","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":false,"context_lines":[{"line_number":515,"context_line":""},{"line_number":516,"context_line":"#. The baremetal provisioning workflow need a *pre-deployed-server* option"},{"line_number":517,"context_line":"   that cause it to not deploy baremetal nodes, only create network ports."},{"line_number":518,"context_line":"   When this option is used a YAML describing the already provisioned nodes"},{"line_number":519,"context_line":"   must be provided."},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"#. Apply and validate network configuration using the **triple-ansible**"}],"source_content_type":"text/x-rst","patch_set":14,"id":"a4ab0d47_86ad6c30","line":518,"range":{"start_line":518,"start_character":28,"end_line":518,"end_character":35},"in_reply_to":"28ab09e9_a7c012de","updated":"2020-12-08 11:56:07.000000000","message":"Done, also updated this to be specific that the baremetal deployment YAML file will also describe the already provisioned nodes.","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1d0907e11c885fa6fb13ad78f47044a763c7d7a","unresolved":true,"context_lines":[{"line_number":632,"context_line":""},{"line_number":633,"context_line":"#. **Create ports in ironic and bind neutron ports**"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"   Instead of creating ports not-known by ironic, create ports for the ironic"},{"line_number":636,"context_line":"   nodes in the baremetal service."},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"   The issue that ironic does not have a concept of virtual port\u0027s, so we would"}],"source_content_type":"text/x-rst","patch_set":14,"id":"b5329fe6_be5d6ce4","line":635,"range":{"start_line":635,"start_character":29,"end_line":635,"end_character":38},"updated":"2020-12-07 20:00:06.000000000","message":"unknown","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":false,"context_lines":[{"line_number":632,"context_line":""},{"line_number":633,"context_line":"#. **Create ports in ironic and bind neutron ports**"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"   Instead of creating ports not-known by ironic, create ports for the ironic"},{"line_number":636,"context_line":"   nodes in the baremetal service."},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"   The issue that ironic does not have a concept of virtual port\u0027s, so we would"}],"source_content_type":"text/x-rst","patch_set":14,"id":"d0b716d5_2b560f77","line":635,"range":{"start_line":635,"start_character":29,"end_line":635,"end_character":38},"in_reply_to":"b5329fe6_be5d6ce4","updated":"2020-12-08 11:56:07.000000000","message":"Done","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1d0907e11c885fa6fb13ad78f47044a763c7d7a","unresolved":true,"context_lines":[{"line_number":635,"context_line":"   Instead of creating ports not-known by ironic, create ports for the ironic"},{"line_number":636,"context_line":"   nodes in the baremetal service."},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"   The issue that ironic does not have a concept of virtual port\u0027s, so we would"},{"line_number":639,"context_line":"   have to either add this support in ironic, switch TripleO to use neutron"},{"line_number":640,"context_line":"   trunk ports or create *fake* ironic ports that don\u0027t actually reflect NICs on"},{"line_number":641,"context_line":"   the baremetal node. (This abandoned ironic spec [3]_ discuss one approach for"}],"source_content_type":"text/x-rst","patch_set":14,"id":"fe57d4fb_3e38350f","line":638,"range":{"start_line":638,"start_character":7,"end_line":638,"end_character":17},"updated":"2020-12-07 20:00:06.000000000","message":"The issue is that","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":false,"context_lines":[{"line_number":635,"context_line":"   Instead of creating ports not-known by ironic, create ports for the ironic"},{"line_number":636,"context_line":"   nodes in the baremetal service."},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"   The issue that ironic does not have a concept of virtual port\u0027s, so we would"},{"line_number":639,"context_line":"   have to either add this support in ironic, switch TripleO to use neutron"},{"line_number":640,"context_line":"   trunk ports or create *fake* ironic ports that don\u0027t actually reflect NICs on"},{"line_number":641,"context_line":"   the baremetal node. (This abandoned ironic spec [3]_ discuss one approach for"}],"source_content_type":"text/x-rst","patch_set":14,"id":"4811fed6_1cce9264","line":638,"range":{"start_line":638,"start_character":7,"end_line":638,"end_character":17},"in_reply_to":"fe57d4fb_3e38350f","updated":"2020-12-08 11:56:07.000000000","message":"Done","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"c1d0907e11c885fa6fb13ad78f47044a763c7d7a","unresolved":true,"context_lines":[{"line_number":641,"context_line":"   the baremetal node. (This abandoned ironic spec [3]_ discuss one approach for"},{"line_number":642,"context_line":"   virtual port support, but it was abandoned in favor of neutron trunk ports.)"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"   With the, every PTG, re-occuring suggestion to replace neutron with a more"},{"line_number":645,"context_line":"   light weight IPAM solution the effort to actually integrate properly with"},{"line_number":646,"context_line":"   ironic/neutron for composable networks probably is\u0027nt well spent time."},{"line_number":647,"context_line":""},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":14,"id":"2d2d3987_d511bd8b","line":646,"range":{"start_line":644,"start_character":3,"end_line":646,"end_character":73},"updated":"2020-12-07 20:00:06.000000000","message":"With each PTG there is a re-occuring suggestion to replace neutron with a more light weight IPAM solution. However, the effort to actually integrate it properly with ironic and neutron for composable networks probably isn\u0027t time well spent.","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a3763e3bc772438784a92610c66c7496a8a4a569","unresolved":false,"context_lines":[{"line_number":641,"context_line":"   the baremetal node. (This abandoned ironic spec [3]_ discuss one approach for"},{"line_number":642,"context_line":"   virtual port support, but it was abandoned in favor of neutron trunk ports.)"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"   With the, every PTG, re-occuring suggestion to replace neutron with a more"},{"line_number":645,"context_line":"   light weight IPAM solution the effort to actually integrate properly with"},{"line_number":646,"context_line":"   ironic/neutron for composable networks probably is\u0027nt well spent time."},{"line_number":647,"context_line":""},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":14,"id":"f330fca2_2487c0d0","line":646,"range":{"start_line":644,"start_character":3,"end_line":646,"end_character":73},"in_reply_to":"2d2d3987_d511bd8b","updated":"2020-12-08 11:56:07.000000000","message":"Thanks, I replaced the entire thing with your suggestion.","commit_id":"d486c857537fc748005a1b389609ca1f91380ce2"}]}
