my $rpcenv = PVE::RPCEnvironment::get();
my $authuser = $rpcenv->get_user();
- if (-e "/etc/pve/sdn/controllers.cfg.new") {
- rename("/etc/pve/sdn/controllers.cfg.new", "/etc/pve/sdn/controllers.cfg")
- || die "applying sdn/controllers.cfg changes failed - $!\n";
- }
-
- if (-e "/etc/pve/sdn/zones.cfg.new") {
- rename("/etc/pve/sdn/zones.cfg.new", "/etc/pve/sdn/zones.cfg")
- || die "applying sdn/zones.cfg changes failed - $!\n";
- }
-
- if (-e "/etc/pve/sdn/vnets.cfg.new") {
- rename("/etc/pve/sdn/vnets.cfg.new", "/etc/pve/sdn/vnets.cfg")
- || die "applying sdn/vnets.cfg changes failed - $!\n";
- }
-
my $code = sub {
$rpcenv->{type} = 'priv'; # to start tasks in background
PVE::Cluster::check_cfs_quorum();
return undef;
}});
-__PACKAGE__->register_method ({
- name => 'revert_configuration',
- protected => 1,
- path => '',
- method => 'DELETE',
- description => "Revert sdn controller changes.",
- permissions => {
- check => ['perm', '/sdn/controllers', ['SDN.Allocate']],
- },
- parameters => {
- additionalProperties => 0,
- },
- returns => { type => 'null' },
- code => sub {
- my ($param) = @_;
-
- die "no sdn controllers changes to revert" if !-e "/etc/pve/sdn/controllers.cfg.new";
- unlink "/etc/pve/sdn/controllers.cfg.new";
-
- return undef;
- }});
-
__PACKAGE__->register_method ({
name => 'update',
protected => 1,
return undef;
}});
-__PACKAGE__->register_method ({
- name => 'revert_configuration',
- protected => 1,
- path => '',
- method => 'DELETE',
- description => "Revert sdn vnet changes.",
- permissions => {
- check => ['perm', '/sdn/vnets', ['SDN.Allocate']],
- },
- parameters => {
- additionalProperties => 0,
- },
- returns => { type => 'null' },
- code => sub {
- my ($param) = @_;
-
- die "no sdn vnets changes to revert" if !-e "/etc/pve/sdn/vnets.cfg.new";
- unlink "/etc/pve/sdn/vnets.cfg.new";
-
- return undef;
- }});
-
__PACKAGE__->register_method ({
name => 'update',
protected => 1,
return undef;
}});
-__PACKAGE__->register_method ({
- name => 'revert_configuration',
- protected => 1,
- path => '',
- method => 'DELETE',
- description => "Revert sdn zone changes.",
- permissions => {
- check => ['perm', '/sdn/zones', ['SDN.Allocate']],
- },
- parameters => {
- additionalProperties => 0,
- },
- returns => { type => 'null' },
- code => sub {
- my ($param) = @_;
-
- die "no sdn zones changes to revert" if !-e "/etc/pve/sdn/zones.cfg.new";
- unlink "/etc/pve/sdn/zones.cfg.new";
-
- return undef;
- }});
-
__PACKAGE__->register_method ({
name => 'update',
protected => 1,
}
sub config {
- my $config = cfs_read_file("sdn/controllers.cfg.new");
+ my $config = cfs_read_file("sdn/controllers.cfg");
$config = cfs_read_file("sdn/controllers.cfg") if !keys %{$config->{ids}};
return $config;
}
sub write_config {
my ($cfg) = @_;
- cfs_write_file("sdn/controllers.cfg.new", $cfg);
+ cfs_write_file("sdn/controllers.cfg", $cfg);
}
sub lock_sdn_controllers_config {
my ($code, $errmsg) = @_;
- cfs_lock_file("sdn/controllers.cfg.new", undef, $code);
+ cfs_lock_file("sdn/controllers.cfg", undef, $code);
if (my $err = $@) {
$errmsg ? die "$errmsg: $err" : die $err;
}
use base qw(PVE::SectionConfig);
PVE::Cluster::cfs_register_file('sdn/controllers.cfg',
- sub { __PACKAGE__->parse_config(@_); });
-
-PVE::Cluster::cfs_register_file('sdn/controllers.cfg.new',
sub { __PACKAGE__->parse_config(@_); },
sub { __PACKAGE__->write_config(@_); });
use PVE::JSONSchema qw(get_standard_option);
PVE::Cluster::cfs_register_file('sdn/vnets.cfg',
- sub { __PACKAGE__->parse_config(@_); });
-
-PVE::Cluster::cfs_register_file('sdn/vnets.cfg.new',
sub { __PACKAGE__->parse_config(@_); },
sub { __PACKAGE__->write_config(@_); });
}
sub config {
- my $config = cfs_read_file("sdn/vnets.cfg.new");
- $config = cfs_read_file("sdn/vnets.cfg") if !keys %{$config->{ids}};
- return $config;
+ my $config = cfs_read_file("sdn/vnets.cfg");
}
sub write_config {
my ($cfg) = @_;
- cfs_write_file("sdn/vnets.cfg.new", $cfg);
+ cfs_write_file("sdn/vnets.cfg", $cfg);
}
sub lock_sdn_vnets_config {
my ($code, $errmsg) = @_;
- cfs_lock_file("sdn/vnets.cfg.new", undef, $code);
+ cfs_lock_file("sdn/vnets.cfg", undef, $code);
if (my $err = $@) {
$errmsg ? die "$errmsg: $err" : die $err;
}
}
sub config {
- my $config = cfs_read_file("sdn/zones.cfg.new");
- $config = cfs_read_file("sdn/zones.cfg") if !keys %{$config->{ids}};
+ my $config = cfs_read_file("sdn/zones.cfg");
return $config;
}
sub write_config {
my ($cfg) = @_;
- cfs_write_file("sdn/zones.cfg.new", $cfg);
+ cfs_write_file("sdn/zones.cfg", $cfg);
}
sub lock_sdn_zones_config {
my ($code, $errmsg) = @_;
- cfs_lock_file("sdn/zones.cfg.new", undef, $code);
+ cfs_lock_file("sdn/zones.cfg", undef, $code);
if (my $err = $@) {
$errmsg ? die "$errmsg: $err" : die $err;
}
use base qw(PVE::SectionConfig);
PVE::Cluster::cfs_register_file('sdn/zones.cfg',
- sub { __PACKAGE__->parse_config(@_); });
-
-PVE::Cluster::cfs_register_file('sdn/zones.cfg.new',
sub { __PACKAGE__->parse_config(@_); },
sub { __PACKAGE__->write_config(@_); });