diff --git a/lib/VersionCheck.pm b/lib/VersionCheck.pm index b612dd04..e0df2e80 100644 --- a/lib/VersionCheck.pm +++ b/lib/VersionCheck.pm @@ -153,14 +153,16 @@ sub version_check { return; } PTDEBUG && _d('Using', $protocol); + my $url = $args{url} # testing + || $ENV{PERCONA_VERSION_CHECK_URL} # testing + || "$protocol://v.percona.com"; + PTDEBUG && _d('API URL:', $url); # Get list of programs to check from Percona. my $advice = pingback( instances => $instances_to_check, protocol => $protocol, - url => $args{url} # testing - || $ENV{PERCONA_VERSION_CHECK_URL} # testing - || "$protocol://v.percona.com", + url => $url, ); if ( $advice ) { PTDEBUG && _d('Advice:', Dumper($advice)); @@ -342,9 +344,14 @@ sub get_uuid { my $filename = $ENV{"HOME"} . $uuid_file; my $uuid = _generate_uuid(); - open(my $fh, '>', $filename) or die "Could not open file '$filename' $!"; - print $fh $uuid; - close $fh; + my $fh; + eval { + open($fh, '>', $filename); + }; + if (!$EVAL_ERROR) { + print $fh $uuid; + close $fh; + } return $uuid; } @@ -434,8 +441,9 @@ sub pingback { general_id => get_uuid(), ); + my $tool_name = $ENV{XTRABACKUP_VERSION} ? "Percona XtraBackup" : File::Basename::basename($0); my $client_response = { - headers => { "X-Percona-Toolkit-Tool" => File::Basename::basename($0) }, + headers => { "X-Percona-Toolkit-Tool" => $tool_name }, content => $client_content, }; PTDEBUG && _d('Client response:', Dumper($client_response)); @@ -528,6 +536,7 @@ my %sub_for_type = ( perl_version => \&get_perl_version, perl_module_version => \&get_perl_module_version, mysql_variable => \&get_mysql_variable, + xtrabackup => \&get_xtrabackup_version, ); sub valid_item { @@ -659,6 +668,10 @@ sub get_perl_version { return $version; } +sub get_xtrabackup_version { + return $ENV{XTRABACKUP_VERSION}; +} + sub get_perl_module_version { my (%args) = @_; my $item = $args{item};