souyofnewerth commented on issue #14430:
URL: https://github.com/apache/cloudstack/issues/14430#issuecomment-6335939866
Hit the same exception on 4.23.0.0 (KVM, Ubuntu 24.04 management) through a
different path:
updateVPC with sourcenatipaddress, on a non-redundant VPC.
Setup: VPC (Default VPC offering) with source NAT 192.0.2.44 (untagged
range) plus 192.0.2.45
(port forwarding to a tier VM). Acquired 203.0.113.114 from a second public
range (vlan://2119)
for the same VPC, then Edit VPC -> "Source NAT IP address" = 203.0.113.114.
Result:
- job fails with 530; management log:
java.lang.UnsupportedOperationException
at java.util.ImmutableCollections.uoe(ImmutableCollections.java:142)
at
java.util.ImmutableCollections$AbstractImmutableCollection.addAll(ImmutableCollections.java:148)
at
com.cloud.network.router.VpcNetworkHelperImpl.reallocateRouterNetworks(VpcNetworkHelperImpl.java:165)
at
com.cloud.network.router.NetworkHelperImpl.deployRouterWithTemplates(NetworkHelperImpl.java:542)
...
at
com.cloud.network.vpc.VpcManagerImpl.rollingRestartVpc(VpcManagerImpl.java:4046)
at
com.cloud.network.vpc.VpcManagerImpl.restartVpc(VpcManagerImpl.java:2821)
at
com.cloud.network.vpc.VpcManagerImpl.updateVpc(VpcManagerImpl.java:2018)
- a new router is created and stays Stopped (version UNKNOWN, requires
upgrade = Yes)
- the DB already marks 203.0.113.114 as source NAT, while the old router
keeps running with
192.0.2.44 (existing port forwards keep working)
- enabling remote access VPN afterwards fails: "Resource [DataCenter:0] is
unreachable: Unable to
apply remote access VPN configuration, virtual router is not in the right
state"
Confirms the regression: 4.22.1.1 NetworkHelperImpl uses
new ArrayList<NicProfile>(Arrays.asList(defaultNic)), 4.23.0.0 line 761 uses
List.of(defaultNic).
Besides restartVPC cleanup=true, updateVPC sourcenatipaddress also leaves
the VPC in this
inconsistent state, so the fix seems important for anyone changing the
source NAT of a VPC.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]