ctlplane IPv6 router port - subnet update fails ConflictException
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
Medium
|
Harald Jensås |
Bug Description
When re-running 'openstack undercloud install' on and undercloud with 'enable_
File \"/var/
File \"/usr/
return self._update(
File \"/usr/
return method(self, expected, actual, *args, **kwargs)
File \"/usr/
return res.commit(self, base_path=
File \"/usr/
retry_
File \"/usr/
self.
File \"/usr/
exceptions.
File \"/usr/
http_
openstack.
The undercloud installer should not pass the 'gateway_ip' unless it is changed.
Also the router port should be recreated if the 'gateway_ip' is changed.
Changed in tripleo: | |
assignee: | nobody → Harald Jensås (harald-jensas) |
Chaging the gateway also fail: 81c:391: 61::25 81c:391: 61::15
+gateway = 2405:200:
-gateway = 2405:200:
Neutron change https:/ /review. opendev. org/c/openstack /neutron/ +/822098 addresses the non-changing address issue. But seems we need to handle this in case the address is changed.
>>> subnet = conn.network. find_subnet( 'ctlplane- subnet' ) network. v2.subnet. Subnet( id=3658699f- b165-48d9- b92c-214c5eb353 e4, name=ctlplane- subnet, tenant_ id=2e4b5681eea3 4176be0d3d9fceb adee3, network_ id=c285d079- 6983-4fb1- 9ad3-244855f068 f8, ip_version=6, subnetpool_id=None, enable_dhcp=True, ipv6_ra_ mode=dhcpv6- stateful, ipv6_address_ mode=dhcpv6- stateful, gateway_ ip=2405: 200:81c: 391:61: :15, cidr=2405: 200:81c: 391::/64, allocation_ pools=[ {'start' : '2405:200: 81c:391: 61::100' , 'end': '2405:200: 81c:391: 61::4ff' }], host_routes=[], dns_nameservers=[], description=, service_types=[], segment_id=None, tags=[], created_ at=2021- 12-20T11: 22:51Z, updated_ at=2021- 12-20T12: 16:54Z, revision_number=1, location= Munch({ 'cloud' : 'undercloud', 'region_name': 'regionOne', 'zone': None, 'project': Munch({'id': '2e4b5681eea341 76be0d3d9fcebad ee3', 'name': 'admin', 'domain_id': None, 'domain_name': 'Default'})})) update_ subnet( subnet. id, name=subnet.name, gateway_ ip='2405: 200:81c: 391:61: :25', allocation_ pools=subnet. allocation_ pools, dns_nameservers =subnet. dns_nameservers ) python3. 6/site- packages/ openstack/ network/ v2/_proxy. py", line 3469, in update_subnet _subnet. Subnet, subnet, **attrs) python3. 6/site- packages/ openstack/ proxy.py" , line 46, in check python3. 6/site- packages/ openstack/ proxy.py" , line 393, in _update base_path) python3. 6/site- packages/ openstack/ resource. py", line 1402, in commit on_conflict= retry_on_ conflict) python3. 6/site- packages/ openstack/ resource. py", line 1428, in _commit _translate_ response( response, has_body=has_body) python3. 6/site- packages/ openstack/ resource. py", line 1107, in _translate_response raise_from_ response( response, error_message= error_message) python3. 6/site- packages/ openstack/ exceptions. py", line 229, in raise_from_response status= http_status, request_ id=request_ id exceptions. ConflictExcepti on: ConflictException: 409: Client Error for url: https://[2405:200: 81c:391: 61::13] :13696/ v2.0/subnets/ 3658699f- b165-48d9- b92c-214c5eb353 e4, Current gateway ip 2405:200: 81c:391: 61::15 already in use by port cd604908- 93eb-4c9b- a42a-c93eafd15a 1a. Unable to update.
>>> subnet
openstack.
>>> conn.network.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/
return self._update(
File "/usr/lib/
return method(self, expected, actual, *args, **kwargs)
File "/usr/lib/
return res.commit(self, base_path=
File "/usr/lib/
retry_
File "/usr/lib/
self.
File "/usr/lib/
exceptions.
File "/usr/lib/
http_
openstack.