<div dir="ltr">Hi!<div><br></div><div>Here is what Neutron is complaining about.</div><div><br></div><div>DEBUG neutron.api.v2.base [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] Request body: {u'port': {u'network_id': u'4ba08203-4328-418b-89e6-b82d474275d5', u'fixed_ips': [{u'subnet_id': u'77c3fad2-bf78-4b4e-bcfb-8114f95d7884', u'ip_address': u'1.1.1.100'}], u'name': u'neutronpolicy_portb-fixed-ip'}} prepare_request_body /usr/lib/python2.7/site-packages/neutron/api/v2/base.py:690<br>DEBUG neutron.db.quota.driver [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] Resources subnetpool,trunk have unlimited quota limit. It is not required to calculate headroom  make_reservation /usr/lib/python2.7/site-packages/neutron/db/quota/driver.py:223<br>DEBUG neutron.quota.resource [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] Usage tracker for resource:port and tenant:4bae655884b44e8e9c8dbb5983fb3cd8 is out of sync, need to count used quota count_used /usr/lib/python2.7/site-packages/neutron/quota/resource.py:272<br>DEBUG neutron.quota.resource [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] Quota usage for port was recalculated. Used quota:0. count_used /usr/lib/python2.7/site-packages/neutron/quota/resource.py:292<br>DEBUG neutron.db.quota.driver [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] Attempting to reserve 1 items for resource port. Total usage: 0; quota limit: 500; headroom:500 make_reservation /usr/lib/python2.7/site-packages/neutron/db/quota/driver.py:255<br>DEBUG neutron.pecan_wsgi.hooks.quota_enforcement [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] Made reservation on behalf of 4bae655884b44e8e9c8dbb5983fb3cd8 for: {'port': 1} before /usr/lib/python2.7/site-packages/neutron/pecan_wsgi/hooks/quota_enforcement.py:55<br>DEBUG neutron.policy [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] Unable to find requested field: shared in target: {'binding:host_id': <neutron_lib.constants.Sentinel object at 0x7f2a3b214d50>, u'name': u'neutronpolicy_portb-fixed-ip', 'allowed_address_pairs': <neutron_lib.constants.Sentinel object at 0x7f2a3b214d50>, 'admin_state_up': True, u'network_id': u'4ba08203-4328-418b-89e6-b82d474275d5', 'tenant_id': u'4bae655884b44e8e9c8dbb5983fb3cd8', 'extra_dhcp_opts': None, 'mac_address': <neutron_lib.constants.Sentinel object at 0x7f2a3b214d50>, 'binding:vnic_type': 'normal', 'device_owner': '', 'qos_policy_id': None, 'device_id': '', 'binding:profile': <neutron_lib.constants.Sentinel object at 0x7f2a3b214d50>, 'port_security_enabled': <neutron_lib.constants.Sentinel object at 0x7f2a3b214d50>, 'project_id': u'4bae655884b44e8e9c8dbb5983fb3cd8', u'fixed_ips': [{u'subnet_id': u'77c3fad2-bf78-4b4e-bcfb-8114f95d7884', u'ip_address': u'1.1.1.100'}], u'network:tenant_id': u'472631dbfc5f4dfda9293fb93b5e493f', 'security_groups': <neutron_lib.constants.Sentinel object at 0x7f2a3b214d50>, 'description': ''} __call__ /usr/lib/python2.7/site-packages/neutron/policy.py:314<br>DEBUG neutron.policy [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] Enforcing rules: ['create_port', 'create_port:fixed_ips'] log_rule_list /usr/lib/python2.7/site-packages/neutron/policy.py:334<br>DEBUG neutron.policy [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] Failed policy check for 'create_port' enforce /usr/lib/python2.7/site-packages/neutron/policy.py:405<br>INFO neutron.pecan_wsgi.hooks.translation [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] POST failed (client error): Access was denied to this resource.<br>DEBUG neutron.pecan_wsgi.hooks.notifier [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] No notification will be sent due to unsuccessful status code: 403 after /usr/lib/python2.7/site-packages/neutron/pecan_wsgi/hooks/notifier.py:79<br>INFO neutron.wsgi [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] 192.168.20.29 "POST /v2.0/ports HTTP/1.1" status: 403  len: 333 time: 0.3625510</div><div><br></div><div>I've tried removing each controller one by one (to validate if one was out of sync) - and I had the issue in all three cases.</div><div><br></div><div>Very weird. I'll keep digging.</div><div><br></div><div>  <br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Apr 19, 2020 at 5:27 AM Slawek Kaplonski <<a href="mailto:skaplons@redhat.com" target="_blank">skaplons@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
If it fails only in some cases, it seems for me like maybe You have different<br>
policy.json configured (or different neutron version installed) on controllers.<br>
Can You check if all is the same in all cases?<br>
Also please send logs from neutron-server from when this failed.<br>
<br>
On Sun, Apr 19, 2020 at 02:08:09AM -0400, Laurent Dumont wrote:<br>
> Hi!<br>
> <br>
> I'm currently troubleshooting some transient Keystone/Neutron 403 issues<br>
> when creating ports in RBAC-ed networks.<br>
> <br>
>    - As part of our CI process,we are running a few sanity tests in virtual<br>
>    Openstack setups with 3 controllers and 2 computes.<br>
>    - One of those test validates the following scenarios (everything is<br>
>    done through the Openstack python sdk) :<br>
>       - Create projectA / UserA / ProjectB / UserB<br>
>       - Create Network in project A<br>
>       - RBAC Network in projectA to ProjectB<br>
>       - With a token issued to a user in projectB, try to create the<br>
>       following ports in project.<br>
>          - regular port<br>
>          - update regular port with a fixed IP<br>
>          - update regular port with an allowed_address_pair<br>
>          - create port with a fixed IP<br>
>          - create port with an allowed address pair.<br>
>       - The behavior that I'm seeing the most is that the port creation<br>
>    will fail with the following error (the logs are from the sdk with<br>
>    logging/debug enabled.<br>
>    - It fails maybe 1/3 - and I'm unable to see a common pattern.<br>
>    - This is testing against the same Openstack env and the<br>
>    failures/success can happen within a few seconds of each others.<br>
> <br>
> Sun Apr 19 01:54:06 2020 -- From ProjectB - create a port with a fixed<br>
> > address in the network shared from ProjectA<br>
> > REQ: curl -g -i -X GET<br>
> > <a href="https://OPENSTACK_URL_HERE:13696/v2.0/subnets/77c3fad2-bf78-4b4e-bcfb-8114f95d7884" rel="noreferrer" target="_blank">https://OPENSTACK_URL_HERE:13696/v2.0/subnets/77c3fad2-bf78-4b4e-bcfb-8114f95d7884</a><br>
> > -H "User-Agent: openstacksdk/0.37.0 keystoneauth1/3.18.0<br>
> > python-requests/2.22.0 CPython/3.7.5" -H "X-Auth-Token:<br>
> > {SHA256}d80fe300742786033376f0591f98d3b4c342103cda1f802087809963694a7935"<br>
> > RESP: [200] Content-Length: 619 Content-Type: application/json Date: Sun,<br>
> > 19 Apr 2020 01:54:06 GMT X-Openstack-Request-Id:<br>
> > req-fcee8345-7daa-499e-a985-92d59a31d0dd<br>
> > RESP BODY:<br>
> > {"subnet":{"service_types":[],"description":"","enable_dhcp":true,"tags":[],"network_id":"4ba08203-4328-418b-89e6-b82d474275d5","tenant_id":"472631dbfc5f4dfda9293fb93b5e493f","created_at":"2020-04-19T01:54:03Z","dns_nameservers":[],"updated_at":"2020-04-19T01:54:03Z","gateway_ip":"1.1.1.1","ipv6_ra_mode":null,"allocation_pools":[{"start":"1.1.1.2","end":"1.1.1.254"}],"host_routes":[],"revision_number":0,"ip_version":4,"ipv6_address_mode":null,"cidr":"<br>
> > <a href="http://1.1.1.0/24" rel="noreferrer" target="_blank">1.1.1.0/24</a><br>
> > ","project_id":"472631dbfc5f4dfda9293fb93b5e493f","id":"77c3fad2-bf78-4b4e-bcfb-8114f95d7884","subnetpool_id":null,"name":"neutronpolicy_shared_network"}}<br>
> > GET call to network for<br>
> > <a href="https://OPENSTACK_URL_HERE:13696/v2.0/subnets/77c3fad2-bf78-4b4e-bcfb-8114f95d7884" rel="noreferrer" target="_blank">https://OPENSTACK_URL_HERE:13696/v2.0/subnets/77c3fad2-bf78-4b4e-bcfb-8114f95d7884</a><br>
> > used request id req-fcee8345-7daa-499e-a985-92d59a31d0dd<br>
> > REQ: curl -g -i -X POST <a href="https://OPENSTACK_URL_HERE:13696/v2.0/ports" rel="noreferrer" target="_blank">https://OPENSTACK_URL_HERE:13696/v2.0/ports</a> -H<br>
> > "Content-Type: application/json" -H "User-Agent: openstacksdk/0.37.0<br>
> > keystoneauth1/3.18.0 python-requests/2.22.0 CPython/3.7.5" -H<br>
> > "X-Auth-Token:<br>
> > {SHA256}d80fe300742786033376f0591f98d3b4c342103cda1f802087809963694a7935"<br>
> > -d '{"port": {"name": "neutronpolicy_portb-fixed-ip", "network_id":<br>
> > "4ba08203-4328-418b-89e6-b82d474275d5", "fixed_ips": [{"subnet_id":<br>
> > "77c3fad2-bf78-4b4e-bcfb-8114f95d7884", "ip_address": "1.1.1.100"}]}}'<br>
> > RESP: [403] Content-Length: 151 Content-Type: application/json Date: Sun,<br>
> > 19 Apr 2020 01:54:07 GMT X-Openstack-Request-Id:<br>
> > req-00277dbc-faca-479f-8736-563595d2729b<br>
> > RESP BODY: {"NeutronError": {"message": "(rule:create_port and<br>
> > rule:create_port:fixed_ips) is disallowed by policy", "type":<br>
> > "PolicyNotAuthorized", "detail": ""}}<br>
> > POST call to network for <a href="https://OPENSTACK_URL_HERE:13696/v2.0/ports" rel="noreferrer" target="_blank">https://OPENSTACK_URL_HERE:13696/v2.0/ports</a> used<br>
> > request id req-00277dbc-faca-479f-8736-563595d2729b<br>
> <br>
> <br>
> When it works, it looks the same, just without the 403 during the port<br>
> creation.<br>
> <br>
> Sun Apr 19 02:29:54 2020 -- From ProjectB - create a port with a fixed<br>
> > address in the network shared from ProjectA<br>
> > REQ: curl -g -i -X GET<br>
> > <a href="https://OPENSTACK_URL_HERE:13696/v2.0/subnets/6d2231b6-3ce2-4121-a9a6-7284823c48ab" rel="noreferrer" target="_blank">https://OPENSTACK_URL_HERE:13696/v2.0/subnets/6d2231b6-3ce2-4121-a9a6-7284823c48ab</a><br>
> > -H "User-Agent: openstacksdk/0.37.0 keystoneauth1/3.18.0<br>
> > python-requests/2.22.0 CPython/3.7.5" -H "X-Auth-Token:<br>
> > {SHA256}d39995434f6a0f106cae7408b07eee93846230f2bb5c922a8e16cfc7c8b26599"<br>
> > RESP: [200] Content-Length: 619 Content-Type: application/json Date: Sun,<br>
> > 19 Apr 2020 02:29:54 GMT X-Openstack-Request-Id:<br>
> > req-bd41b51f-b6e9-454c-8c9a-ee444140459e<br>
> > RESP BODY:<br>
> > {"subnet":{"service_types":[],"description":"","enable_dhcp":true,"tags":[],"network_id":"e0d7e7a1-2863-45ec-bd7b-1767a1d02822","tenant_id":"4530b70143ec4cd0ad929a4ca571bdd8","created_at":"2020-04-19T02:29:51Z","dns_nameservers":[],"updated_at":"2020-04-19T02:29:51Z","gateway_ip":"1.1.1.1","ipv6_ra_mode":null,"allocation_pools":[{"start":"1.1.1.2","end":"1.1.1.254"}],"host_routes":[],"revision_number":0,"ip_version":4,"ipv6_address_mode":null,"cidr":"<br>
> > <a href="http://1.1.1.0/24" rel="noreferrer" target="_blank">1.1.1.0/24</a><br>
> > ","project_id":"4530b70143ec4cd0ad929a4ca571bdd8","id":"6d2231b6-3ce2-4121-a9a6-7284823c48ab","subnetpool_id":null,"name":"neutronpolicy_shared_network"}}<br>
> > GET call to network for<br>
> > https:/OPENSTACK_URL_HERE:13696/v2.0/subnets/6d2231b6-3ce2-4121-a9a6-7284823c48ab<br>
> > used request id req-bd41b51f-b6e9-454c-8c9a-ee444140459e<br>
> > REQ: curl -g -i -X POST <a href="https://OPENSTACK_URL_HERE:13696/v2.0/ports" rel="noreferrer" target="_blank">https://OPENSTACK_URL_HERE:13696/v2.0/ports</a> -H<br>
> > "Content-Type: application/json" -H "User-Agent: openstacksdk/0.37.0<br>
> > keystoneauth1/3.18.0 python-requests/2.22.0 CPython/3.7.5" -H<br>
> > "X-Auth-Token:<br>
> > {SHA256}d39995434f6a0f106cae7408b07eee93846230f2bb5c922a8e16cfc7c8b26599"<br>
> > -d '{"port": {"name": "neutronpolicy_portb-fixed-ip", "network_id":<br>
> > "e0d7e7a1-2863-45ec-bd7b-1767a1d02822", "fixed_ips": [{"subnet_id":<br>
> > "6d2231b6-3ce2-4121-a9a6-7284823c48ab", "ip_address": "1.1.1.100"}]}}'<br>
> > RESP: [201] Content-Length: 769 Content-Type: application/json Date: Sun,<br>
> > 19 Apr 2020 02:29:56 GMT X-Openstack-Request-Id:<br>
> > req-898dadfb-366d-4a78-8e89-c9d5e9a512f6<br>
> > RESP BODY:<br>
> > {"port":{"allowed_address_pairs":[],"extra_dhcp_opts":[],"updated_at":"2020-04-19T02:29:55Z","device_owner":"","revision_number":6,"port_security_enabled":true,"fixed_ips":[{"subnet_id":"6d2231b6-3ce2-4121-a9a6-7284823c48ab","ip_address":"1.1.1.100"}],"id":"9999784b-c38d-4cf2-b951-e8255d3483f4","security_groups":["4c022e69-b575-435b-bfb7-9cc81f50d49e"],"mac_address":"fa:16:3e:3e:22:fb","device_id":"","status":"DOWN","description":"","tags":[],"name":"neutronpolicy_portb-fixed-ip","project_id":"253ee9b6b5964185ab0818580129c011","qos_policy_id":null,"admin_state_up":true,"network_id":"e0d7e7a1-2863-45ec-bd7b-1767a1d02822","tenant_id":"253ee9b6b5964185ab0818580129c011","created_at":"2020-04-19T02:29:55Z","binding:vnic_type":"normal","ip_allocation":"immediate"}}<br>
> > POST call to network for <a href="https://OPENSTACK_URL_HERE:13696/v2.0/ports" rel="noreferrer" target="_blank">https://OPENSTACK_URL_HERE:13696/v2.0/ports</a> used<br>
> > request id req-898dadfb-366d-4a78-8e89-c9d5e9a512f6<br>
> > Sun Apr 19 02:29:56 2020 -- PORT-OK<br>
> <br>
> <br>
> This is what I see in the Neutron server logs (with debug enabled)<br>
> <br>
> DEBUG neutron.api.v2.base [req-00277dbc-faca-479f-8736-563595d2729b<br>
> > c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default<br>
> > default] Request body: {u'port': {u'network_id':<br>
> > u'4ba08203-4328-418b-89e6-b82d474275d5', u'fixed_ips': [{u'subnet_id':<br>
> > u'77c3fad2-bf78-4b4e-bcfb-8114f95d7884', u'ip_address': u'1.1.1.100'}],<br>
> > u'name': u'neutronpolicy_portb-fixed-ip'}} prepare_request_body<br>
> > /usr/lib/python2.7/site-packages/neutron/api/v2/base.py:690<br>
> > DEBUG neutron.db.quota.driver [req-00277dbc-faca-479f-8736-563595d2729b<br>
> > c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default<br>
> > default] Resources subnetpool,trunk have unlimited quota limit. It is not<br>
> > required to calculate headroom  make_reservation<br>
> > /usr/lib/python2.7/site-packages/neutron/db/quota/driver.py:223<br>
> > DEBUG neutron.quota.resource [req-00277dbc-faca-479f-8736-563595d2729b<br>
> > c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default<br>
> > default] Usage tracker for resource:port and<br>
> > tenant:4bae655884b44e8e9c8dbb5983fb3cd8 is out of sync, need to count used<br>
> > quota count_used<br>
> > /usr/lib/python2.7/site-packages/neutron/quota/resource.py:272<br>
> > DEBUG neutron.quota.resource [req-00277dbc-faca-479f-8736-563595d2729b<br>
> > c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default<br>
> > default] Quota usage for port was recalculated. Used quota:0. count_used<br>
> > /usr/lib/python2.7/site-packages/neutron/quota/resource.py:292<br>
> > DEBUG neutron.db.quota.driver [req-00277dbc-faca-479f-8736-563595d2729b<br>
> > c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default<br>
> > default] Attempting to reserve 1 items for resource port. Total usage: 0;<br>
> > quota limit: 500; headroom:500 make_reservation<br>
> > /usr/lib/python2.7/site-packages/neutron/db/quota/driver.py:255<br>
> > DEBUG neutron.pecan_wsgi.hooks.quota_enforcement<br>
> > [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989<br>
> > 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] Made reservation on<br>
> > behalf of 4bae655884b44e8e9c8dbb5983fb3cd8 for: {'port': 1} before<br>
> > /usr/lib/python2.7/site-packages/neutron/pecan_wsgi/hooks/quota_enforcement.py:55<br>
> > DEBUG neutron.policy [req-00277dbc-faca-479f-8736-563595d2729b<br>
> > c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default<br>
> > default] Unable to find requested field: shared in target:<br>
> > {'binding:host_id': <neutron_lib.constants.Sentinel object at<br>
> > 0x7f2a3b214d50>, u'name': u'neutronpolicy_portb-fixed-ip',<br>
> > 'allowed_address_pairs': <neutron_lib.constants.Sentinel object at<br>
> > 0x7f2a3b214d50>, 'admin_state_up': True, u'network_id':<br>
> > u'4ba08203-4328-418b-89e6-b82d474275d5', 'tenant_id':<br>
> > u'4bae655884b44e8e9c8dbb5983fb3cd8', 'extra_dhcp_opts': None,<br>
> > 'mac_address': <neutron_lib.constants.Sentinel object at 0x7f2a3b214d50>,<br>
> > 'binding:vnic_type': 'normal', 'device_owner': '', 'qos_policy_id': None,<br>
> > 'device_id': '', 'binding:profile': <neutron_lib.constants.Sentinel object<br>
> > at 0x7f2a3b214d50>, 'port_security_enabled':<br>
> > <neutron_lib.constants.Sentinel object at 0x7f2a3b214d50>, 'project_id':<br>
> > u'4bae655884b44e8e9c8dbb5983fb3cd8', u'fixed_ips': [{u'subnet_id':<br>
> > u'77c3fad2-bf78-4b4e-bcfb-8114f95d7884', u'ip_address': u'1.1.1.100'}],<br>
> > u'network:tenant_id': u'472631dbfc5f4dfda9293fb93b5e493f',<br>
> > 'security_groups': <neutron_lib.constants.Sentinel object at<br>
> > 0x7f2a3b214d50>, 'description': ''} __call__<br>
> > /usr/lib/python2.7/site-packages/neutron/policy.py:314<br>
> > DEBUG neutron.policy [req-00277dbc-faca-479f-8736-563595d2729b<br>
> > c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default<br>
> > default] Enforcing rules: ['create_port', 'create_port:fixed_ips']<br>
> > log_rule_list /usr/lib/python2.7/site-packages/neutron/policy.py:334<br>
> > DEBUG neutron.policy [req-00277dbc-faca-479f-8736-563595d2729b<br>
> > c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default<br>
> > default] Failed policy check for 'create_port' enforce<br>
> > /usr/lib/python2.7/site-packages/neutron/policy.py:405<br>
> > INFO neutron.pecan_wsgi.hooks.translation<br>
> > [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989<br>
> > 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] POST failed (client<br>
> > error): Access was denied to this resource.<br>
> > DEBUG neutron.pecan_wsgi.hooks.notifier<br>
> > [req-00277dbc-faca-479f-8736-563595d2729b c905a7d0011e4bb4ae388cfd699e5989<br>
> > 4bae655884b44e8e9c8dbb5983fb3cd8 - default default] No notification will be<br>
> > sent due to unsuccessful status code: 403 after<br>
> > /usr/lib/python2.7/site-packages/neutron/pecan_wsgi/hooks/notifier.py:79<br>
> > INFO neutron.wsgi [req-00277dbc-faca-479f-8736-563595d2729b<br>
> > c905a7d0011e4bb4ae388cfd699e5989 4bae655884b44e8e9c8dbb5983fb3cd8 - default<br>
> > default] 192.168.20.29 "POST /v2.0/ports HTTP/1.1" status: 403  len: 333<br>
> > time: 0.3625510<br>
> ><br>
> <br>
> <br>
> I haven't found a whole lot online - just a couple of possibly related bugs<br>
> <a href="https://bugs.launchpad.net/neutron/+bug/1808112" rel="noreferrer" target="_blank">https://bugs.launchpad.net/neutron/+bug/1808112</a><br>
> <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1683385" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1683385</a><br>
> <br>
> Does anyone have any good tips/debugging methods?<br>
> <br>
> Thanks!<br>
<br>
-- <br>
Slawek Kaplonski<br>
Senior software engineer<br>
Red Hat<br>
<br>
</blockquote></div>