@@ -81,6 +81,7 @@ our @EXPORT = qw(
8181 qesap_cluster_logs
8282 qesap_upload_crm_report
8383 qesap_supportconfig_logs
84+ qesap_save_y2logs
8485 qesap_add_server_to_hosts
8586 qesap_calculate_deployment_name
8687 qesap_export_instances
@@ -1386,6 +1387,9 @@ sub qesap_cluster_logs {
13861387 # Upload crm report
13871388 qesap_upload_crm_report(host => $host , provider => $provider , failok => 1);
13881389 }
1390+
1391+ # Collect logs in iscsi service node if there is.
1392+ qesap_save_y2logs(provider => $provider , host => ' iscsi[0]' , failok => 1) if (script_run(" grep -q 'iscsi' $inventory " ) == 0);
13891393 }
13901394
13911395 if ($provider eq ' AZURE' ) {
@@ -1397,6 +1401,53 @@ sub qesap_cluster_logs {
13971401 }
13981402}
13991403
1404+ =head3 qesap_save_y2logs
1405+
1406+ Collect y2logs from nodes of a deployed cluster
1407+
1408+ =over
1409+
1410+ =item B<PROVIDER > - Cloud provider name using same format of PUBLIC_CLOUD_PROVIDER setting
1411+
1412+ =item B<HOST > - node of a deployed cluster
1413+
1414+ =back
1415+ =cut
1416+
1417+ sub qesap_save_y2logs {
1418+ my (%args ) = @_ ;
1419+ foreach (qw( provider host) ) { croak " Missing mandatory $_ argument" unless $args {$_ }; }
1420+ $args {failok } //= 0;
1421+
1422+ my $log_filename = " $args {host}-y2logs.tar.gz" ;
1423+
1424+ $log_filename =~ s / [\[\] "]// g ;
1425+
1426+ qesap_ansible_cmd(cmd => " sudo save_y2logs /tmp/$log_filename " ,
1427+ provider => $args {provider },
1428+ filter => " \" $args {host}\" " ,
1429+ host_keys_check => 1,
1430+ verbose => 1,
1431+ timeout => bmwqemu::scale_timeout(7200),
1432+ failok => $args {failok });
1433+ qesap_ansible_cmd(cmd => " sudo chmod 755 /tmp/$log_filename " ,
1434+ provider => $args {provider },
1435+ filter => " \" $args {host}\" " ,
1436+ host_keys_check => 1,
1437+ verbose => 1,
1438+ timeout => bmwqemu::scale_timeout(7200),
1439+ failok => $args {failok });
1440+ my $local_path = qesap_ansible_fetch_file(provider => $args {provider },
1441+ host => $args {host },
1442+ failok => $args {failok },
1443+ root => 1,
1444+ remote_path => ' /tmp/' ,
1445+ out_path => ' /tmp/ansible_script_output/' ,
1446+ file => " $log_filename " ,
1447+ verbose => 1);
1448+ upload_logs($local_path , failok => 1);
1449+ }
1450+
14001451=head3 qesap_supportconfig_logs
14011452
14021453 Collect supportconfig logs from all HANA nodes of a deployed cluster
0 commit comments