OK so here is the problem, in master (newton) it's using the non-admin port client:
https://github.com/openstack/nova/blob/master/nova/network/neutronv2/api.py#L702
That's coming from here:
https://github.com/openstack/nova/blob/master/nova/network/neutronv2/api.py#L749
Before newton, that would be the port_client here with admin=True if using the port binding extension:
https://github.com/openstack/nova/blob/stable/mitaka/nova/network/neutronv2/api.py#L564
So before newton we used an admin port client, but with the refactor changes in newton it's using the non-admin client hence the regression.
OK so here is the problem, in master (newton) it's using the non-admin port client:
https:/ /github. com/openstack/ nova/blob/ master/ nova/network/ neutronv2/ api.py# L702
That's coming from here:
https:/ /github. com/openstack/ nova/blob/ master/ nova/network/ neutronv2/ api.py# L749
Before newton, that would be the port_client here with admin=True if using the port binding extension:
https:/ /github. com/openstack/ nova/blob/ stable/ mitaka/ nova/network/ neutronv2/ api.py# L564
So before newton we used an admin port client, but with the refactor changes in newton it's using the non-admin client hence the regression.