I think 409 is expected. Is this expected behavior ?
$ quantum subnet-create --name sub1 --no-gateway net-test 10.10.0.0/24
Created a new subnet:
+------------------+----------------------------------------------+
| Field | Value |
+------------------+----------------------------------------------+
| allocation_pools | {"start": "10.10.0.1", "end": "10.10.0.254"} |
| cidr | 10.10.0.0/24 |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | |
| host_routes | |
| id | 9c6ed6cf-2f2a-4146-b942-1d9a942c5194 |
| ip_version | 4 |
| name | sub1 |
| network_id | ff359fe5-7796-4314-8d4f-5457bd9e24ae |
| tenant_id | be3fc4694da2413c833574d6e018d338 |
+------------------+----------------------------------------------+
$ quantum subnet-update sub1 --gateway_ip 10.10.0.10
Updated subnet: sub1
$ quantum subnet-show sub1
+------------------+----------------------------------------------+
| Field | Value |
+------------------+----------------------------------------------+
| allocation_pools | {"start": "10.10.0.1", "end": "10.10.0.254"} |
| cidr | 10.10.0.0/24 |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | 10.10.0.10 |
| host_routes | |
| id | 9c6ed6cf-2f2a-4146-b942-1d9a942c5194 |
| ip_version | 4 |
| name | sub1 |
| network_id | ff359fe5-7796-4314-8d4f-5457bd9e24ae |
| tenant_id | be3fc4694da2413c833574d6e018d338 |
+------------------+----------------------------------------------+
The first character of the title missing.
Subnet update with conflict gateway and allocation_pools succeed.