diff options
| author | Alexandre Derumier <aderumier@odiso.com> | 2021-01-05 10:35:34 +0100 |
|---|---|---|
| committer | Thomas Lamprecht <t.lamprecht@proxmox.com> | 2021-02-06 14:50:44 +0100 |
| commit | 77ec7eb206a859c483c14feaf144ac408ee9882b (patch) | |
| tree | e4ecedfc55d6f46a42fe509630e64e53bd5cde12 /PVE/API2/Network/SDN/Subnets.pm | |
| parent | b61e93a5c63c860b4b68c140f2c5a889cf0a58de (diff) | |
subnets: add add_subnet/del_subnet
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Diffstat (limited to 'PVE/API2/Network/SDN/Subnets.pm')
| -rw-r--r-- | PVE/API2/Network/SDN/Subnets.pm | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/PVE/API2/Network/SDN/Subnets.pm b/PVE/API2/Network/SDN/Subnets.pm index 07ef2e1..f7e095f 100644 --- a/PVE/API2/Network/SDN/Subnets.pm +++ b/PVE/API2/Network/SDN/Subnets.pm @@ -277,21 +277,18 @@ __PACKAGE__->register_method ({ sub { my $cfg = PVE::Network::SDN::Subnets::config(); - my $scfg = PVE::Network::SDN::Subnets::sdn_subnets_config($cfg, $id); + my $scfg = PVE::Network::SDN::Subnets::sdn_subnets_config($cfg, $id, 1); - my $subnets_cfg = PVE::Network::SDN::Subnets::config(); my $vnets_cfg = PVE::Network::SDN::Vnets::config(); - PVE::Network::SDN::SubnetPlugin->on_delete_hook($id, $subnets_cfg, $vnets_cfg); + PVE::Network::SDN::SubnetPlugin->on_delete_hook($id, $cfg, $vnets_cfg); - my $ipam_cfg = PVE::Network::SDN::Ipams::config(); - my $ipam = $cfg->{ids}->{$id}->{ipam}; - if ($ipam) { - raise_param_exc({ ipam => "$ipam not existing"}) if !$ipam_cfg->{ids}->{$ipam}; - my $plugin_config = $ipam_cfg->{ids}->{$ipam}; - my $plugin = PVE::Network::SDN::Ipams::Plugin->lookup($plugin_config->{type}); - $plugin->del_subnet($plugin_config, $id, $scfg); - } + my $zone_cfg = PVE::Network::SDN::Zones::config(); + my $vnet = $param->{vnet}; + my $zoneid = $vnets_cfg->{ids}->{$vnet}->{zone}; + my $zone = $zone_cfg->{ids}->{$zoneid}; + + PVE::Network::SDN::Subnets::del_subnet($zone, $id, $scfg); delete $cfg->{ids}->{$id}; |
