tests(plugins): Run all tests on arm64 architecture (#5049)
Co-authored-by: Sophie Depassio <sdepassio@centreon.com>
This commit is contained in:
parent
f7deeba3c5
commit
5fd1df4c39
|
@ -248,8 +248,9 @@ jobs:
|
|||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
distrib: [el8, el9, jammy, bullseye, bookworm]
|
||||
image: [testing-plugins-alma8, testing-plugins-alma9, testing-plugins-jammy, testing-plugins-bullseye, testing-plugins-bookworm]
|
||||
include:
|
||||
- runner_name: ubuntu-22.04
|
||||
- package_extension: rpm
|
||||
image: testing-plugins-alma8
|
||||
distrib: el8
|
||||
|
@ -265,8 +266,13 @@ jobs:
|
|||
- package_extension: deb
|
||||
image: testing-plugins-jammy
|
||||
distrib: jammy
|
||||
- package_extension: deb
|
||||
image: testing-plugins-bullseye-arm64
|
||||
distrib: bullseye
|
||||
arch: arm64
|
||||
runner_name: ["self-hosted", "collect-arm64"]
|
||||
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ${{ matrix.runner_name }}
|
||||
container:
|
||||
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
|
||||
credentials:
|
||||
|
|
|
@ -26,11 +26,11 @@ use DBI;
|
|||
use Digest::MD5 qw(md5_hex);
|
||||
use POSIX qw(:signal_h);
|
||||
|
||||
my %handlers = ( ALRM => {} );
|
||||
my %handlers = (ALRM => {});
|
||||
|
||||
sub new {
|
||||
my ($class, %options) = @_;
|
||||
my $self = {};
|
||||
my $self = {};
|
||||
bless $self, $class;
|
||||
# $options{options} = options object
|
||||
# $options{output} = output object
|
||||
|
@ -60,16 +60,16 @@ sub new {
|
|||
}
|
||||
$options{options}->add_help(package => __PACKAGE__, sections => 'DBI OPTIONS', once => 1);
|
||||
|
||||
$self->{output} = $options{output};
|
||||
$self->{sqlmode_name} = $options{sqlmode_name};
|
||||
$self->{instance} = undef;
|
||||
$self->{output} = $options{output};
|
||||
$self->{sqlmode_name} = $options{sqlmode_name};
|
||||
$self->{instance} = undef;
|
||||
$self->{statement_handle} = undef;
|
||||
$self->{version} = undef;
|
||||
$self->{version} = undef;
|
||||
|
||||
$self->{data_source} = undef;
|
||||
$self->{username} = undef;
|
||||
$self->{password} = undef;
|
||||
$self->{connect_options} = undef;
|
||||
$self->{data_source} = undef;
|
||||
$self->{username} = undef;
|
||||
$self->{password} = undef;
|
||||
$self->{connect_options} = undef;
|
||||
$self->{connect_options_hash} = {};
|
||||
|
||||
# Sometimes, we need to set ENV
|
||||
|
@ -87,7 +87,7 @@ sub prepare_destroy {
|
|||
sub set_signal_handlers {
|
||||
my $self = shift;
|
||||
|
||||
$SIG{ALRM} = \&class_handle_ALRM;
|
||||
$SIG{ALRM} = \&class_handle_ALRM;
|
||||
$handlers{ALRM}->{$self} = sub { $self->handle_ALRM() };
|
||||
}
|
||||
|
||||
|
@ -103,7 +103,7 @@ sub handle_ALRM {
|
|||
$self->prepare_destroy();
|
||||
$self->disconnect();
|
||||
$self->{output}->output_add(
|
||||
severity => $self->{sql_errors_exit},
|
||||
severity => $self->{sql_errors_exit},
|
||||
short_msg => 'Timeout'
|
||||
);
|
||||
$self->{output}->display();
|
||||
|
@ -136,7 +136,7 @@ sub check_options {
|
|||
my ($self, %options) = @_;
|
||||
|
||||
$self->{data_source} = (defined($self->{option_results}->{data_source})) ? shift(@{$self->{option_results}->{data_source}}) : undef;
|
||||
$self->{username} = undef;
|
||||
$self->{username} = undef;
|
||||
if (defined($self->{option_results}->{username})) {
|
||||
$self->{username} = ref($self->{option_results}->{username}) eq 'ARRAY' ? shift(@{$self->{option_results}->{username}}) : $self->{option_results}->{username};
|
||||
}
|
||||
|
@ -144,10 +144,10 @@ sub check_options {
|
|||
if (defined($self->{option_results}->{password})) {
|
||||
$self->{password} = ref($self->{option_results}->{password}) eq 'ARRAY' ? shift(@{$self->{option_results}->{password}}) : $self->{option_results}->{password};
|
||||
}
|
||||
|
||||
|
||||
$self->{connect_options} = (defined($self->{option_results}->{connect_options})) ? shift(@{$self->{option_results}->{connect_options}}) : undef;
|
||||
$self->{connect_query} = (defined($self->{option_results}->{connect_query})) ? shift(@{$self->{option_results}->{connect_query}}) : undef;
|
||||
$self->{env} = (defined($self->{option_results}->{env})) ? shift(@{$self->{option_results}->{env}}) : undef;
|
||||
$self->{connect_query} = (defined($self->{option_results}->{connect_query})) ? shift(@{$self->{option_results}->{connect_query}}) : undef;
|
||||
$self->{env} = (defined($self->{option_results}->{env})) ? shift(@{$self->{option_results}->{env}}) : undef;
|
||||
$self->{sql_errors_exit} = $self->{option_results}->{sql_errors_exit};
|
||||
|
||||
$self->{timeout} = 10;
|
||||
|
@ -192,10 +192,10 @@ sub quote {
|
|||
sub is_version_minimum {
|
||||
my ($self, %options) = @_;
|
||||
# $options{version} = string version to check
|
||||
|
||||
|
||||
my @version_src = split /\./, $self->{version};
|
||||
my @versions = split /\./, $options{version};
|
||||
for (my $i = 0; $i < scalar(@versions); $i++) {
|
||||
my @versions = split /\./, $options{version};
|
||||
for (my $i = 0; $i < scalar(@versions); $i++) {
|
||||
return 1 if ($versions[$i] eq 'x');
|
||||
return 1 if (!defined($version_src[$i]));
|
||||
$version_src[$i] =~ /^([0-9]*)/;
|
||||
|
@ -222,10 +222,10 @@ sub disconnect {
|
|||
$self->{instance} = undef;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub connect {
|
||||
my ($self, %options) = @_;
|
||||
my $dontquit = (defined($options{dontquit}) && $options{dontquit} == 1) ? 1 : 0;
|
||||
my $dontquit = (defined($options{dontquit}) && $options{dontquit} == 1) ? 1 : 0;
|
||||
|
||||
return if (defined($self->{instance}));
|
||||
|
||||
|
@ -241,7 +241,7 @@ sub connect {
|
|||
eval {
|
||||
alarm($self->{timeout}) if (defined($self->{timeout}));
|
||||
$self->{instance} = DBI->connect(
|
||||
"DBI:". $self->{data_source},
|
||||
"DBI:" . $self->{data_source},
|
||||
$self->{username},
|
||||
$self->{password},
|
||||
{ RaiseError => 0, PrintError => 0, AutoCommit => 1, %{$self->{connect_options_hash}} }
|
||||
|
@ -257,8 +257,8 @@ sub connect {
|
|||
if (!defined($self->{instance})) {
|
||||
my $err_msg = sprintf(
|
||||
'Cannot connect: %s',
|
||||
defined($DBI::errstr) ? $DBI::errstr :
|
||||
(defined($connect_error) ? $connect_error : '(no error string)')
|
||||
defined($DBI::errstr) ? $DBI::errstr :
|
||||
(defined($connect_error) ? $connect_error : '(no error string)')
|
||||
);
|
||||
if ($dontquit == 0) {
|
||||
$self->{output}->add_option_msg(short_msg => $err_msg);
|
||||
|
@ -306,7 +306,7 @@ sub fetchrow_hashref {
|
|||
|
||||
sub query {
|
||||
my ($self, %options) = @_;
|
||||
my $continue_error = defined($options{continue_error}) && $options{continue_error} == 1 ? 1 : 0;
|
||||
my $continue_error = defined($options{continue_error}) && $options{continue_error} == 1 ? 1 : 0;
|
||||
|
||||
$self->{statement_handle} = $self->{instance}->prepare($options{query});
|
||||
if (!defined($self->{statement_handle})) {
|
||||
|
@ -318,7 +318,7 @@ sub query {
|
|||
|
||||
my $rv;
|
||||
if (defined($self->{exec_timeout})) {
|
||||
my $mask = POSIX::SigSet->new(SIGALRM);
|
||||
my $mask = POSIX::SigSet->new(SIGALRM);
|
||||
my $action = POSIX::SigAction->new(
|
||||
sub { $self->handle_ALRM() },
|
||||
$mask,
|
||||
|
@ -335,7 +335,7 @@ sub query {
|
|||
sigaction(SIGALRM, $oldaction);
|
||||
} else {
|
||||
$rv = $self->{statement_handle}->execute();
|
||||
}
|
||||
}
|
||||
|
||||
if (!$rv) {
|
||||
return 1 if ($continue_error == 1);
|
||||
|
@ -343,7 +343,7 @@ sub query {
|
|||
$self->disconnect();
|
||||
$self->{output}->option_exit(exit_litteral => $self->{sql_errors_exit});
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -357,7 +357,7 @@ DBI global
|
|||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
dbi class
|
||||
DBI class
|
||||
|
||||
=head1 DBI OPTIONS
|
||||
|
||||
|
@ -402,6 +402,6 @@ Timeout in seconds for query execution
|
|||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
B<snmp>.
|
||||
B<DBI>.
|
||||
|
||||
=cut
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
--oid-display
|
||||
--oid-extra-display
|
||||
--oid-filter
|
||||
--sql-errors-exit
|
||||
--urlpath
|
||||
--use-ucd
|
||||
--warning-bytesallocatedpercentage
|
||||
|
@ -100,6 +101,7 @@ api.meraki.com
|
|||
cardtemperature
|
||||
connections-dhcp
|
||||
connections-dns
|
||||
datasource
|
||||
deltaps
|
||||
df
|
||||
eth
|
||||
|
@ -145,4 +147,4 @@ v2
|
|||
VDSL2
|
||||
Veeam
|
||||
WSMAN
|
||||
Kubernetes
|
||||
Kubernetes
|
Loading…
Reference in New Issue