5aaa572a02
In [1], a change that removed the validation fields for router "external_gateway_info" was introduced. In order to be able to use the subattributes in the policy engine, it is needed to define then using a "type:dict*" validator and set them as "key_specs". This validation is done in [2]. This patch is restoring the validation of the router "external_gateway_info" field by just amending what is new in each extension modifying the field. This change makes any extension compatible when loaded at the same time, regardless of the loading priority (usually loaded in alphabetical order). NOTE: this fix should be backported up to 2023.2, where [1] is included. [1]https://review.opendev.org/c/openstack/neutron-lib/+/870887/20/neutron_lib/api/definitions/qos_gateway_ip.py [2]https://github.com/openstack/neutron/blob/0008cf562e33c6c69d9a0abbc714c7839771a110/neutron/policy.py#L138-L143 Depends-On: https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/941689 Related-Bug: #2098109 Change-Id: Id64ccbdc4750eaa5f64bbbf374e6d9db2388c4db