fix: trunk_created payload parsing #874
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously we changed the trunk_created and subports_added subscription event from AFTER_CREATE to PRECOMMIT_CREATE, while that was not a problem for subports, it created a bug for trunk as DBEventPayload is constructed differently for trunk, hence we need this change.
code ref for trunk DBEventPayload on precommit:
https://github.com/openstack/neutron/blob/stable/2024.2/neutron/services/trunk/plugin.py#L263
As we see there, the "desired_state" is used instead of just "state".
If we call payload.latest_state, it will return desired if present, else it will return latest from state. code ref.
https://github.com/openstack/neutron-lib/blob/950f0f3a8a722da115c03f2abb756a732a3ec4c1/neutron_lib/callbacks/events.py#L142