Error creating IPv6 subnet on routed network segment
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
New
|
Medium
|
Unassigned |
Bug Description
I have a routed provider network with 2 segments. Prior to creating an IPv6 subnet on a segment, I have created IPv4 subnets and attached a router to the external network without issue. When I attempt to create an IPv6 subnet on a segment, the following occurs:
> openstack subnet create --subnet-pool ULA --prefix-length 64 --network-segment 89254a60-
BadRequestExcep
Interestingly enough, the subnet was created despite this error. The subnet ID referenced in the error message is the UUID of the newly created subnet:
> openstack subnet show 1237b25c-
+------
| Field | Value |
+------
| allocation_pools | fd00::2-
| cidr | fd00::/64 |
| created_at | 2019-06-
| description | |
| dns_nameservers | |
| enable_dhcp | False |
| gateway_ip | fd00::1 |
| host_routes | |
| id | 1237b25c-
| ip_version | 6 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| location | Munch({'cloud': '', 'region_name': '', 'zone': None, 'project': Munch({'id': 'ea4d84a4ec2449
| name | RACK_1_ULA |
| network_id | c96b20c7-
| prefix_length | None |
| project_id | ea4d84a4ec2449a
| revision_number | 0 |
| segment_id | 89254a60-
| service_types | |
| subnetpool_id | 08b4162a-
| tags | |
| updated_at | 2019-06-
+------
When I went to the logs (debug is enabled), another issue I found is that there is no stack trace or anything to indicate an error, other than the following from tracing the request ID:
Jun 12 19:04:53 devstack-1 neutron-
Jun 12 19:04:53 devstack-1 neutron-
Jun 12 19:04:53 devstack-1 neutron-
Jun 12 19:04:53 devstack-1 neutron-
Jun 12 19:04:53 devstack-1 neutron-
Jun 12 19:04:53 devstack-1 neutron-
Jun 12 19:04:53 devstack-1 neutron-
Jun 12 19:04:54 devstack-1 neutron-
Jun 12 19:04:55 devstack-1 neutron-
Jun 12 19:04:55 devstack-1 neutron-
Jun 12 19:04:55 devstack-1 neutron-
Jun 12 19:04:55 devstack-1 neutron-
For some reason, the source of the malformed request error is not obvious.
To summarize:
- IPv6 subnet creation on an external network segment returns an error to the client, but the subnet gets created
- The client alerts the user to a port creation failure due to having the newly created subnet passed in the 'fixed_ips' of the port create request (what port is even being created during a subnet create operation????)
- The mysterious port creation transaction seems to think the newly created subnet is invalid, which leads me to believe there is an issue with DB transaction boundaries
- The actual source of the error is hidden, even with debug enabled
I uncovered another clue to this in the L3 agent logs. As the L3 agent is attempting to create a FIP gateway port, it encounters this error http:// paste.openstack .org/show/ 752840/ . The error seems to be coming out of the IPAM subsystem, and this could be pointing us at where API calls are failing.