2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-07-31 18:19:40 +00:00

refactor(dhcp): reuse shared version comparison

Signed-off-by: Vinícius Ferrão <2031761+viniciusferrao@users.noreply.github.com>
This commit is contained in:
Vinícius Ferrão
2026-07-17 16:07:58 -03:00
parent 3f7619903c
commit 52e2f2b332
+6 -21
View File
@@ -73,10 +73,12 @@ sub new_install_default_algorithm {
return unless $args{is_new_install};
return 'hmac-sha256'
if defined($platform) && $platform =~ /^el(\d+)\b/i && $1 >= 9;
return 'hmac-sha256'
if defined($os)
&& $os =~ /^ubuntu,(\d+\.\d+(?:\.\d+)*)\b/i
&& _version_at_least( $1, '20.04' );
if ( defined($os) && $os =~ /^ubuntu,(\d+\.\d+(?:\.\d+)*)\b/i ) {
my $ubuntu_version = $1;
require xCAT::Utils;
return 'hmac-sha256'
if xCAT::Utils->version_cmp( $ubuntu_version, '20.04' ) >= 0;
}
return;
}
@@ -125,23 +127,6 @@ sub omshell_preamble {
return $commands;
}
sub _version_at_least {
my ( $version, $minimum ) = @_;
my @version_parts = split /\./, $version;
my @minimum_parts = split /\./, $minimum;
my $max = @version_parts > @minimum_parts ? @version_parts : @minimum_parts;
for my $idx ( 0 .. $max - 1 ) {
my $left = $version_parts[$idx] || 0;
my $right = $minimum_parts[$idx] || 0;
return 1 if $left > $right;
return 0 if $left < $right;
}
return 1;
}
sub _site_value {
my ( $key, %args ) = @_;