diff options
| author | Alexandre Derumier <aderumier@odiso.com> | 2020-12-09 16:11:18 +0100 |
|---|---|---|
| committer | Thomas Lamprecht <t.lamprecht@proxmox.com> | 2020-12-18 18:02:47 +0100 |
| commit | 9cef13e929a79fbbabcde5ce98aad80025696f0e (patch) | |
| tree | 1b66b6df773269300e37d825803b49b983f3d6cd /PVE/Network/SDN/Controllers.pm | |
| parent | fdf22d5f6b6c1ba5e61c1222e2548f236da47a1b (diff) | |
controllers: add generate_controller_rawconfig
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Diffstat (limited to 'PVE/Network/SDN/Controllers.pm')
| -rw-r--r-- | PVE/Network/SDN/Controllers.pm | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/PVE/Network/SDN/Controllers.pm b/PVE/Network/SDN/Controllers.pm index 9937755..ba67d75 100644 --- a/PVE/Network/SDN/Controllers.pm +++ b/PVE/Network/SDN/Controllers.pm @@ -147,10 +147,27 @@ sub reload_controller { } } +sub generate_controller_rawconfig { + my ($config) = @_; + + my $cfg = PVE::Network::SDN::config(); + my $controller_cfg = $cfg->{controllers}; + return if !$controller_cfg; + + my $rawconfig = ""; + foreach my $id (keys %{$controller_cfg->{ids}}) { + my $plugin_config = $controller_cfg->{ids}->{$id}; + my $plugin = PVE::Network::SDN::Controllers::Plugin->lookup($plugin_config->{type}); + $rawconfig .= $plugin->generate_controller_rawconfig($plugin_config, $config); + } + return $rawconfig; +} + sub write_controller_config { my ($config) = @_; - my $controller_cfg = PVE::Cluster::cfs_read_file('sdn/controllers.cfg'); + my $cfg = PVE::Network::SDN::config(); + my $controller_cfg = $cfg->{controllers}; return if !$controller_cfg; foreach my $id (keys %{$controller_cfg->{ids}}) { |
