[pve-devel] applied: [PATCH ha-manager 04/12] groups: register groups directly
Thomas Lamprecht
t.lamprecht at proxmox.com
Fri Sep 28 15:36:02 CEST 2018
On 9/28/18 12:48 PM, Fabian Grünbichler wrote:
> and use PVE::HA::Groups to parse the config when testing/simulating.
>
> this allows us to drop the dependency on PVE::HA::Config, which would
> otherwise pull in a lot of additional depdendencies that we don't want
> in the simulator.
>
> Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
> ---
> note for Thomas: my original plan of merging Config and Env didn't pan out as
> expected - circular dependencies between external API2 modules via the VM/CT
> Resources.. this is a more minimal approach that achieves the same goal for now.
>
> src/PVE/HA/Config.pm | 4 ----
> src/PVE/HA/Groups.pm | 3 +++
> src/PVE/HA/Sim/Hardware.pm | 4 ++--
> src/pve-ha-tester | 2 +-
> src/test/test_failover1.pl | 4 ++--
> 5 files changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/src/PVE/HA/Config.pm b/src/PVE/HA/Config.pm
> index bf37b04..5de4779 100644
> --- a/src/PVE/HA/Config.pm
> +++ b/src/PVE/HA/Config.pm
> @@ -9,10 +9,6 @@ use PVE::HA::Groups;
> use PVE::Cluster qw(cfs_register_file cfs_read_file cfs_write_file cfs_lock_file);
> use PVE::HA::Resources;
>
> -PVE::HA::Groups->register();
> -
> -PVE::HA::Groups->init();
> -
> my $manager_status_filename = "ha/manager_status";
> my $ha_groups_config = "ha/groups.cfg";
> my $ha_resources_config = "ha/resources.cfg";
> diff --git a/src/PVE/HA/Groups.pm b/src/PVE/HA/Groups.pm
> index 4816f3e..40666f6 100644
> --- a/src/PVE/HA/Groups.pm
> +++ b/src/PVE/HA/Groups.pm
> @@ -99,4 +99,7 @@ sub parse_section_header {
> return undef;
> }
>
> +__PACKAGE__->register();
> +__PACKAGE__->init();
> +
> 1;
> diff --git a/src/PVE/HA/Sim/Hardware.pm b/src/PVE/HA/Sim/Hardware.pm
> index 2019d8f..3b192b0 100644
> --- a/src/PVE/HA/Sim/Hardware.pm
> +++ b/src/PVE/HA/Sim/Hardware.pm
> @@ -14,8 +14,8 @@ use IO::File;
> use Fcntl qw(:DEFAULT :flock);
> use File::Copy;
> use File::Path qw(make_path remove_tree);
> -use PVE::HA::Config;
> use PVE::HA::FenceConfig;
> +use PVE::HA::Groups;
>
> my $watchdog_timeout = 60;
>
> @@ -292,7 +292,7 @@ sub read_group_config {
> my $raw = '';
> $raw = PVE::Tools::file_get_contents($filename) if -f $filename;
>
> - return PVE::HA::Config::parse_groups_config($filename, $raw);
> + return PVE::HA::Groups->parse_config($filename, $raw);
> }
>
> sub read_service_status {
> diff --git a/src/pve-ha-tester b/src/pve-ha-tester
> index 0f1f14e..aa214d7 100755
> --- a/src/pve-ha-tester
> +++ b/src/pve-ha-tester
> @@ -7,8 +7,8 @@ use JSON;
> use lib '.';
>
> use PVE::Tools;
> -use PVE::HA::Config;
>
> +use PVE::HA::Groups;
> use PVE::HA::Sim::TestHardware;
>
> sub show_usage {
> diff --git a/src/test/test_failover1.pl b/src/test/test_failover1.pl
> index d72617e..67573a2 100755
> --- a/src/test/test_failover1.pl
> +++ b/src/test/test_failover1.pl
> @@ -4,10 +4,10 @@ use strict;
> use warnings;
>
> use lib '..';
> -use PVE::HA::Config;
> +use PVE::HA::Groups;
> use PVE::HA::Manager;
>
> -my $groups = PVE::HA::Config::parse_groups_config("groups.tmp", <<EOD);
> +my $groups = PVE::HA::Groups->parse_config("groups.tmp", <<EOD);
> group: prefer_node1
> nodes node1
> EOD
>
applied
More information about the pve-devel
mailing list