From: Alexandre Derumier Date: Thu, 29 Apr 2021 23:15:27 +0000 (+0200) Subject: api2: zone: check ipam change if no ipam was defined before too X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=690d3f7d4f9cec2dcb09448b7cb5b25a78d5c2fc;p=matthieu%2Fpve-network.git api2: zone: check ipam change if no ipam was defined before too Signed-off-by: Alexandre Derumier --- diff --git a/PVE/API2/Network/SDN/Zones.pm b/PVE/API2/Network/SDN/Zones.pm index 2163374..64fb927 100644 --- a/PVE/API2/Network/SDN/Zones.pm +++ b/PVE/API2/Network/SDN/Zones.pm @@ -272,13 +272,13 @@ __PACKAGE__->register_method ({ my $plugin = PVE::Network::SDN::Zones::Plugin->lookup($scfg->{type}); my $opts = $plugin->check_config($id, $param, 0, 1); - if($opts->{ipam} ne $scfg->{ipam}) { + if($opts->{ipam} && !$scfg->{ipam} || $opts->{ipam} ne $scfg->{ipam}) { - #don't allow ipam change if subnet are defined + #don't allow ipam change if subnet are defined for now, need to implement resync ipam content my $subnets_cfg = PVE::Network::SDN::Subnets::config(); foreach my $subnetid (sort keys %{$subnets_cfg->{ids}}) { my $subnet = PVE::Network::SDN::Subnets::sdn_subnets_config($subnets_cfg, $subnetid); - raise_param_exc({ ipam => "can't change ipam if subnet if already defined for this zone"}) if $subnet->{zone} eq $id; + raise_param_exc({ ipam => "can't change ipam if a subnet is already defined in this zone"}) if $subnet->{zone} eq $id; } }