← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2095322] [NEW] ADMIN_OR_NET_OWNER_{MEMBER|READER} rules don't work for subnets

 

Public bug reported:

Steps to reproduce the issue in the standard devstack env:

1. Create network as demo user:

vagrant in /opt/stack/neutron on master $ export OS_CLOUD=devstack 
vagrant in /opt/stack/neutron on master $ openstack network create demo-network                             
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | UP                                   |
| availability_zone_hints   |                                      |
| availability_zones        |                                      |
| created_at                | 2025-01-20T10:04:18Z                 |
| description               |                                      |
| dns_domain                | None                                 |
| id                        | 719dab77-4570-43de-842c-dfba80425710 |
| ipv4_address_scope        | None                                 |
| ipv6_address_scope        | None                                 |
| is_default                | None                                 |
| is_vlan_transparent       | False                                |
| mtu                       | 1442                                 |
| name                      | demo-network                         |
| port_security_enabled     | True                                 |
| project_id                | b12ffe577dab41f5831c9ff8189b9a8a     |
| provider:network_type     | None                                 |
| provider:physical_network | None                                 |
| provider:segmentation_id  | None                                 |
| qos_policy_id             | None                                 |
| revision_number           | 1                                    |
| router:external           | Internal                             |
| segments                  | None                                 |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tags                      |                                      |
| updated_at                | 2025-01-20T10:04:18Z                 |
+---------------------------+--------------------------------------+

2. Switch to the admin user and create subnet in this network:

vagrant in /opt/stack/neutron on master $ export OS_CLOUD=devstack-admin 
vagrant in /opt/stack/neutron on master $ 
vagrant in /opt/stack/neutron on master $ openstack subnet create --network demo-network --subnet-range 192.168.100.0/24 demo-subnet-owned-by-admin
+----------------------+--------------------------------------+
| Field                | Value                                |
+----------------------+--------------------------------------+
| allocation_pools     | 192.168.100.2-192.168.100.254        |
| cidr                 | 192.168.100.0/24                     |
| created_at           | 2025-01-20T10:05:13Z                 |
| description          |                                      |
| dns_nameservers      |                                      |
| dns_publish_fixed_ip | None                                 |
| enable_dhcp          | True                                 |
| gateway_ip           | 192.168.100.1                        |
| host_routes          |                                      |
| id                   | c3596d2a-2576-40a7-a742-b7979163cf3b |
| ip_version           | 4                                    |
| ipv6_address_mode    | None                                 |
| ipv6_ra_mode         | None                                 |
| name                 | demo-subnet-owned-by-admin           |
| network_id           | 719dab77-4570-43de-842c-dfba80425710 |
| project_id           | b9bdd2988cb54d6ab82a911c17e418be     |
| revision_number      | 0                                    |
| router:external      | False                                |
| segment_id           | None                                 |
| service_types        |                                      |
| subnetpool_id        | None                                 |
| tags                 |                                      |
| updated_at           | 2025-01-20T10:05:13Z                 |
+----------------------+--------------------------------------+
vagrant in /opt/stack/neutron on master $ 

3. Switch again to the demo user (network's owner) and try to get the
subnet:

vagrant in /opt/stack/neutron on master $ export OS_CLOUD=devstack       
vagrant in /opt/stack/neutron on master $ openstack subnet show c3596d2a-2576-40a7-a742-b7979163cf3b                                                
No Subnet found for c3596d2a-2576-40a7-a742-b7979163cf3b


In the neutron logs there is not much really, but when I disabled "ExceptionTranslationHook()" pecan hook, I got error message like:

ERROR oslo_middleware.catch_errors [None req-2e4b1b55-3833-4316-950f-32bad0ad1bea demo demo] An error occurred during processing the request: GET /networking/v2.0/subnets/c3596d2a-2576-40a7-a742-b7979163cf3b HTTP/1.0
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: text/plain
Host: 10.120.0.40:9696
Openstack-System-Scope: None
User-Agent: openstacksdk/4.1.0 keystoneauth1/5.8.0 python-requests/2.32.3 CPython/3.12.3
X-Auth-Token: *****
X-Domain-Id: None
X-Domain-Name: None
X-Identity-Status: Confirmed
X-Is-Admin-Project: True
X-Project-Domain-Id: default
X-Project-Domain-Name: Default
X-Project-Id: b12ffe577dab41f5831c9ff8189b9a8a
X-Project-Name: demo
X-Role: anotherrole,member,reader
X-Roles: anotherrole,member,reader
X-Service-Catalog: [{"type": "image", "name": "glance", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40/image"}]}, {"type": "placement", "name": "placement", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40/placement"}]}, {"type": "network", "name": "neutron", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40:9696/networking"}]}, {"type": "identity", "name": "keystone", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40/identity"}]}, {"type": "compute_legacy", "name": "nova_legacy", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40/compute/v2/b12ffe577dab41f5831c9ff8189b9a8a"}]}, {"type": "compute", "name": "nova", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40/compute/v2.1"}]}]
X-Tenant: demo
X-Tenant-Id: b12ffe577dab41f5831c9ff8189b9a8a
X-Tenant-Name: demo
X-User: demo
X-User-Domain-Id: default
X-User-Domain-Name: Default
X-User-Id: 0843883c92ea4b35971dc1d6aa86631a
X-User-Name: demo: neutron_lib.exceptions.SubnetNotFound: Subnet c3596d2a-2576-40a7-a742-b7979163cf3b could not be found.
ERROR oslo_middleware.catch_errors Traceback (most recent call last):
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_middleware/catch_errors.py", line 40, in __call__
ERROR oslo_middleware.catch_errors     response = req.get_response(self.application)
ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1313, in send
ERROR oslo_middleware.catch_errors     status, headers, app_iter = self.call_application(
ERROR oslo_middleware.catch_errors                                 ^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1278, in call_application
ERROR oslo_middleware.catch_errors     app_iter = application(self.environ, start_response)
ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 129, in __call__
ERROR oslo_middleware.catch_errors     resp = self.call_func(req, *args, **kw)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 193, in call_func
ERROR oslo_middleware.catch_errors     return self.func(req, *args, **kwargs)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/osprofiler/web.py", line 118, in __call__
ERROR oslo_middleware.catch_errors     return request.get_response(self.application)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1313, in send
ERROR oslo_middleware.catch_errors     status, headers, app_iter = self.call_application(
ERROR oslo_middleware.catch_errors                                 ^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1278, in call_application
ERROR oslo_middleware.catch_errors     app_iter = application(self.environ, start_response)
ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 129, in __call__
ERROR oslo_middleware.catch_errors     resp = self.call_func(req, *args, **kw)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 193, in call_func
ERROR oslo_middleware.catch_errors     return self.func(req, *args, **kwargs)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/keystonemiddleware/auth_token/__init__.py", line 340, in __call__
ERROR oslo_middleware.catch_errors     response = req.get_response(self._app)
ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1313, in send
ERROR oslo_middleware.catch_errors     status, headers, app_iter = self.call_application(
ERROR oslo_middleware.catch_errors                                 ^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1278, in call_application
ERROR oslo_middleware.catch_errors     app_iter = application(self.environ, start_response)
ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 143, in __call__
ERROR oslo_middleware.catch_errors     return resp(environ, start_response)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 143, in __call__
ERROR oslo_middleware.catch_errors     return resp(environ, start_response)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/routes/middleware.py", line 153, in __call__
ERROR oslo_middleware.catch_errors     response = self.app(environ, start_response)
ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 143, in __call__
ERROR oslo_middleware.catch_errors     return resp(environ, start_response)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/pecan/middleware/recursive.py", line 56, in __call__
ERROR oslo_middleware.catch_errors     return self.application(environ, start_response)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/pecan/core.py", line 841, in __call__
ERROR oslo_middleware.catch_errors     return super(Pecan, self).__call__(environ, start_response)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/pecan/core.py", line 682, in __call__
ERROR oslo_middleware.catch_errors     self.invoke_controller(controller, args, kwargs, state)
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/pecan/core.py", line 573, in invoke_controller
ERROR oslo_middleware.catch_errors     result = controller(*args, **kwargs)
ERROR oslo_middleware.catch_errors              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 137, in wrapped
ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception():
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
ERROR oslo_middleware.catch_errors     self.force_reraise()
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
ERROR oslo_middleware.catch_errors     raise self.value
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 135, in wrapped
ERROR oslo_middleware.catch_errors     return f(*args, **kwargs)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_db/api.py", line 144, in wrapper
ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception() as ectxt:
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
ERROR oslo_middleware.catch_errors     self.force_reraise()
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
ERROR oslo_middleware.catch_errors     raise self.value
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_db/api.py", line 142, in wrapper
ERROR oslo_middleware.catch_errors     return f(*args, **kwargs)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 183, in wrapped
ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception():
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
ERROR oslo_middleware.catch_errors     self.force_reraise()
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
ERROR oslo_middleware.catch_errors     raise self.value
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 181, in wrapped
ERROR oslo_middleware.catch_errors     return f(*dup_args, **dup_kwargs)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/neutron/neutron/pecan_wsgi/controllers/utils.py", line 65, in wrapped
ERROR oslo_middleware.catch_errors     return f(*args, **kwargs)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/neutron/neutron/pecan_wsgi/controllers/resource.py", line 40, in index
ERROR oslo_middleware.catch_errors     return self.get(*args, **kwargs)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/neutron/neutron/pecan_wsgi/controllers/resource.py", line 51, in get
ERROR oslo_middleware.catch_errors     return {self.resource: self.plugin_shower(*getter_args, fields=fields)}
ERROR oslo_middleware.catch_errors                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 223, in wrapped
ERROR oslo_middleware.catch_errors     return f_with_retry(*args, **kwargs,
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 137, in wrapped
ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception():
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
ERROR oslo_middleware.catch_errors     self.force_reraise()
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
ERROR oslo_middleware.catch_errors     raise self.value
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 135, in wrapped
ERROR oslo_middleware.catch_errors     return f(*args, **kwargs)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_db/api.py", line 144, in wrapper
ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception() as ectxt:
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
ERROR oslo_middleware.catch_errors     self.force_reraise()
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
ERROR oslo_middleware.catch_errors     raise self.value
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_db/api.py", line 142, in wrapper
ERROR oslo_middleware.catch_errors     return f(*args, **kwargs)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 183, in wrapped
ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception():
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
ERROR oslo_middleware.catch_errors     self.force_reraise()
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
ERROR oslo_middleware.catch_errors     raise self.value
ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 181, in wrapped
ERROR oslo_middleware.catch_errors     return f(*dup_args, **dup_kwargs)
ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 1169, in get_subnet
ERROR oslo_middleware.catch_errors     subnet_obj = self._get_subnet_object(context, id)
ERROR oslo_middleware.catch_errors                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ERROR oslo_middleware.catch_errors   File "/opt/stack/neutron/neutron/db/db_base_plugin_common.py", line 279, in _get_subnet_object
ERROR oslo_middleware.catch_errors     raise exceptions.SubnetNotFound(subnet_id=id)
ERROR oslo_middleware.catch_errors neutron_lib.exceptions.SubnetNotFound: Subnet c3596d2a-2576-40a7-a742-b7979163cf3b could not be found.
ERROR oslo_middleware.catch_errors

** Affects: neutron
     Importance: Medium
         Status: New


** Tags: api

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2095322

Title:
  ADMIN_OR_NET_OWNER_{MEMBER|READER} rules don't work for subnets

Status in neutron:
  New

Bug description:
  Steps to reproduce the issue in the standard devstack env:

  1. Create network as demo user:

  vagrant in /opt/stack/neutron on master $ export OS_CLOUD=devstack 
  vagrant in /opt/stack/neutron on master $ openstack network create demo-network                             
  +---------------------------+--------------------------------------+
  | Field                     | Value                                |
  +---------------------------+--------------------------------------+
  | admin_state_up            | UP                                   |
  | availability_zone_hints   |                                      |
  | availability_zones        |                                      |
  | created_at                | 2025-01-20T10:04:18Z                 |
  | description               |                                      |
  | dns_domain                | None                                 |
  | id                        | 719dab77-4570-43de-842c-dfba80425710 |
  | ipv4_address_scope        | None                                 |
  | ipv6_address_scope        | None                                 |
  | is_default                | None                                 |
  | is_vlan_transparent       | False                                |
  | mtu                       | 1442                                 |
  | name                      | demo-network                         |
  | port_security_enabled     | True                                 |
  | project_id                | b12ffe577dab41f5831c9ff8189b9a8a     |
  | provider:network_type     | None                                 |
  | provider:physical_network | None                                 |
  | provider:segmentation_id  | None                                 |
  | qos_policy_id             | None                                 |
  | revision_number           | 1                                    |
  | router:external           | Internal                             |
  | segments                  | None                                 |
  | shared                    | False                                |
  | status                    | ACTIVE                               |
  | subnets                   |                                      |
  | tags                      |                                      |
  | updated_at                | 2025-01-20T10:04:18Z                 |
  +---------------------------+--------------------------------------+

  2. Switch to the admin user and create subnet in this network:

  vagrant in /opt/stack/neutron on master $ export OS_CLOUD=devstack-admin 
  vagrant in /opt/stack/neutron on master $ 
  vagrant in /opt/stack/neutron on master $ openstack subnet create --network demo-network --subnet-range 192.168.100.0/24 demo-subnet-owned-by-admin
  +----------------------+--------------------------------------+
  | Field                | Value                                |
  +----------------------+--------------------------------------+
  | allocation_pools     | 192.168.100.2-192.168.100.254        |
  | cidr                 | 192.168.100.0/24                     |
  | created_at           | 2025-01-20T10:05:13Z                 |
  | description          |                                      |
  | dns_nameservers      |                                      |
  | dns_publish_fixed_ip | None                                 |
  | enable_dhcp          | True                                 |
  | gateway_ip           | 192.168.100.1                        |
  | host_routes          |                                      |
  | id                   | c3596d2a-2576-40a7-a742-b7979163cf3b |
  | ip_version           | 4                                    |
  | ipv6_address_mode    | None                                 |
  | ipv6_ra_mode         | None                                 |
  | name                 | demo-subnet-owned-by-admin           |
  | network_id           | 719dab77-4570-43de-842c-dfba80425710 |
  | project_id           | b9bdd2988cb54d6ab82a911c17e418be     |
  | revision_number      | 0                                    |
  | router:external      | False                                |
  | segment_id           | None                                 |
  | service_types        |                                      |
  | subnetpool_id        | None                                 |
  | tags                 |                                      |
  | updated_at           | 2025-01-20T10:05:13Z                 |
  +----------------------+--------------------------------------+
  vagrant in /opt/stack/neutron on master $ 

  3. Switch again to the demo user (network's owner) and try to get the
  subnet:

  vagrant in /opt/stack/neutron on master $ export OS_CLOUD=devstack       
  vagrant in /opt/stack/neutron on master $ openstack subnet show c3596d2a-2576-40a7-a742-b7979163cf3b                                                
  No Subnet found for c3596d2a-2576-40a7-a742-b7979163cf3b

  
  In the neutron logs there is not much really, but when I disabled "ExceptionTranslationHook()" pecan hook, I got error message like:

  ERROR oslo_middleware.catch_errors [None req-2e4b1b55-3833-4316-950f-32bad0ad1bea demo demo] An error occurred during processing the request: GET /networking/v2.0/subnets/c3596d2a-2576-40a7-a742-b7979163cf3b HTTP/1.0
  Accept: */*
  Accept-Encoding: gzip, deflate
  Connection: keep-alive
  Content-Type: text/plain
  Host: 10.120.0.40:9696
  Openstack-System-Scope: None
  User-Agent: openstacksdk/4.1.0 keystoneauth1/5.8.0 python-requests/2.32.3 CPython/3.12.3
  X-Auth-Token: *****
  X-Domain-Id: None
  X-Domain-Name: None
  X-Identity-Status: Confirmed
  X-Is-Admin-Project: True
  X-Project-Domain-Id: default
  X-Project-Domain-Name: Default
  X-Project-Id: b12ffe577dab41f5831c9ff8189b9a8a
  X-Project-Name: demo
  X-Role: anotherrole,member,reader
  X-Roles: anotherrole,member,reader
  X-Service-Catalog: [{"type": "image", "name": "glance", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40/image"}]}, {"type": "placement", "name": "placement", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40/placement"}]}, {"type": "network", "name": "neutron", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40:9696/networking"}]}, {"type": "identity", "name": "keystone", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40/identity"}]}, {"type": "compute_legacy", "name": "nova_legacy", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40/compute/v2/b12ffe577dab41f5831c9ff8189b9a8a"}]}, {"type": "compute", "name": "nova", "endpoints": [{"region": "RegionOne", "publicURL": "http://10.120.0.40/compute/v2.1"}]}]
  X-Tenant: demo
  X-Tenant-Id: b12ffe577dab41f5831c9ff8189b9a8a
  X-Tenant-Name: demo
  X-User: demo
  X-User-Domain-Id: default
  X-User-Domain-Name: Default
  X-User-Id: 0843883c92ea4b35971dc1d6aa86631a
  X-User-Name: demo: neutron_lib.exceptions.SubnetNotFound: Subnet c3596d2a-2576-40a7-a742-b7979163cf3b could not be found.
  ERROR oslo_middleware.catch_errors Traceback (most recent call last):
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_middleware/catch_errors.py", line 40, in __call__
  ERROR oslo_middleware.catch_errors     response = req.get_response(self.application)
  ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1313, in send
  ERROR oslo_middleware.catch_errors     status, headers, app_iter = self.call_application(
  ERROR oslo_middleware.catch_errors                                 ^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1278, in call_application
  ERROR oslo_middleware.catch_errors     app_iter = application(self.environ, start_response)
  ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 129, in __call__
  ERROR oslo_middleware.catch_errors     resp = self.call_func(req, *args, **kw)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 193, in call_func
  ERROR oslo_middleware.catch_errors     return self.func(req, *args, **kwargs)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/osprofiler/web.py", line 118, in __call__
  ERROR oslo_middleware.catch_errors     return request.get_response(self.application)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1313, in send
  ERROR oslo_middleware.catch_errors     status, headers, app_iter = self.call_application(
  ERROR oslo_middleware.catch_errors                                 ^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1278, in call_application
  ERROR oslo_middleware.catch_errors     app_iter = application(self.environ, start_response)
  ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 129, in __call__
  ERROR oslo_middleware.catch_errors     resp = self.call_func(req, *args, **kw)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 193, in call_func
  ERROR oslo_middleware.catch_errors     return self.func(req, *args, **kwargs)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/keystonemiddleware/auth_token/__init__.py", line 340, in __call__
  ERROR oslo_middleware.catch_errors     response = req.get_response(self._app)
  ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1313, in send
  ERROR oslo_middleware.catch_errors     status, headers, app_iter = self.call_application(
  ERROR oslo_middleware.catch_errors                                 ^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/request.py", line 1278, in call_application
  ERROR oslo_middleware.catch_errors     app_iter = application(self.environ, start_response)
  ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 143, in __call__
  ERROR oslo_middleware.catch_errors     return resp(environ, start_response)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 143, in __call__
  ERROR oslo_middleware.catch_errors     return resp(environ, start_response)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/routes/middleware.py", line 153, in __call__
  ERROR oslo_middleware.catch_errors     response = self.app(environ, start_response)
  ERROR oslo_middleware.catch_errors                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/webob/dec.py", line 143, in __call__
  ERROR oslo_middleware.catch_errors     return resp(environ, start_response)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/pecan/middleware/recursive.py", line 56, in __call__
  ERROR oslo_middleware.catch_errors     return self.application(environ, start_response)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/pecan/core.py", line 841, in __call__
  ERROR oslo_middleware.catch_errors     return super(Pecan, self).__call__(environ, start_response)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/pecan/core.py", line 682, in __call__
  ERROR oslo_middleware.catch_errors     self.invoke_controller(controller, args, kwargs, state)
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/pecan/core.py", line 573, in invoke_controller
  ERROR oslo_middleware.catch_errors     result = controller(*args, **kwargs)
  ERROR oslo_middleware.catch_errors              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 137, in wrapped
  ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception():
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
  ERROR oslo_middleware.catch_errors     self.force_reraise()
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
  ERROR oslo_middleware.catch_errors     raise self.value
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 135, in wrapped
  ERROR oslo_middleware.catch_errors     return f(*args, **kwargs)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_db/api.py", line 144, in wrapper
  ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception() as ectxt:
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
  ERROR oslo_middleware.catch_errors     self.force_reraise()
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
  ERROR oslo_middleware.catch_errors     raise self.value
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_db/api.py", line 142, in wrapper
  ERROR oslo_middleware.catch_errors     return f(*args, **kwargs)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 183, in wrapped
  ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception():
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
  ERROR oslo_middleware.catch_errors     self.force_reraise()
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
  ERROR oslo_middleware.catch_errors     raise self.value
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 181, in wrapped
  ERROR oslo_middleware.catch_errors     return f(*dup_args, **dup_kwargs)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/neutron/neutron/pecan_wsgi/controllers/utils.py", line 65, in wrapped
  ERROR oslo_middleware.catch_errors     return f(*args, **kwargs)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/neutron/neutron/pecan_wsgi/controllers/resource.py", line 40, in index
  ERROR oslo_middleware.catch_errors     return self.get(*args, **kwargs)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/neutron/neutron/pecan_wsgi/controllers/resource.py", line 51, in get
  ERROR oslo_middleware.catch_errors     return {self.resource: self.plugin_shower(*getter_args, fields=fields)}
  ERROR oslo_middleware.catch_errors                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 223, in wrapped
  ERROR oslo_middleware.catch_errors     return f_with_retry(*args, **kwargs,
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 137, in wrapped
  ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception():
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
  ERROR oslo_middleware.catch_errors     self.force_reraise()
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
  ERROR oslo_middleware.catch_errors     raise self.value
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 135, in wrapped
  ERROR oslo_middleware.catch_errors     return f(*args, **kwargs)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_db/api.py", line 144, in wrapper
  ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception() as ectxt:
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
  ERROR oslo_middleware.catch_errors     self.force_reraise()
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
  ERROR oslo_middleware.catch_errors     raise self.value
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_db/api.py", line 142, in wrapper
  ERROR oslo_middleware.catch_errors     return f(*args, **kwargs)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 183, in wrapped
  ERROR oslo_middleware.catch_errors     with excutils.save_and_reraise_exception():
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 227, in __exit__
  ERROR oslo_middleware.catch_errors     self.force_reraise()
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/oslo_utils/excutils.py", line 200, in force_reraise
  ERROR oslo_middleware.catch_errors     raise self.value
  ERROR oslo_middleware.catch_errors   File "/opt/stack/data/venv/lib/python3.12/site-packages/neutron_lib/db/api.py", line 181, in wrapped
  ERROR oslo_middleware.catch_errors     return f(*dup_args, **dup_kwargs)
  ERROR oslo_middleware.catch_errors            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 1169, in get_subnet
  ERROR oslo_middleware.catch_errors     subnet_obj = self._get_subnet_object(context, id)
  ERROR oslo_middleware.catch_errors                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ERROR oslo_middleware.catch_errors   File "/opt/stack/neutron/neutron/db/db_base_plugin_common.py", line 279, in _get_subnet_object
  ERROR oslo_middleware.catch_errors     raise exceptions.SubnetNotFound(subnet_id=id)
  ERROR oslo_middleware.catch_errors neutron_lib.exceptions.SubnetNotFound: Subnet c3596d2a-2576-40a7-a742-b7979163cf3b could not be found.
  ERROR oslo_middleware.catch_errors

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2095322/+subscriptions