Comment 1 for bug 1976270

Revision history for this message
Baptiste Jonglez (bjonglez) wrote :

Some news on this front, after some more work and informal discussion:

- currently in NGS, device reconfiguration to account for port creation is done in bind_port(), while port deletion is handled in a postcommit hook. According to the bind_port() specification, we are not supposed to make permanent changes here, which means that the current code does not respect this for port creation. I am preparing an initial patch to move all device reconfiguration to postcommit hooks to fix this. This has the added advantage that postcommit hooks would be easier to parallelize / bulkify / make asynchronous: there is none of the complexity of binding levels or binding retries done by Neutron.

- I discovered the "provisioning blocks" mechanism [1]. It is already used by NGS, but it could probably be used in a more asynchronous way to improve concurrency (e.g. return an answer to the API caller even if the port is still in BUILD state).

[1] https://docs.openstack.org/neutron/latest/contributor/internals/provisioning_blocks.html