diff --git a/perl-xCAT/xCAT/DHCP/OmapiPolicy.pm b/perl-xCAT/xCAT/DHCP/OmapiPolicy.pm index 23ade1271..a3621a3ce 100644 --- a/perl-xCAT/xCAT/DHCP/OmapiPolicy.pm +++ b/perl-xCAT/xCAT/DHCP/OmapiPolicy.pm @@ -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 ) = @_;