@@ -79,6 +79,7 @@ our @EXPORT = qw(
7979 qesap_cluster_logs
8080 qesap_upload_crm_report
8181 qesap_supportconfig_logs
82+ qesap_save_y2logs
8283 qesap_add_server_to_hosts
8384 qesap_calculate_deployment_name
8485 qesap_export_instances
@@ -1396,6 +1397,9 @@ sub qesap_cluster_logs {
13961397 # Upload crm report
13971398 qesap_upload_crm_report(host => $host , provider => $provider , failok => 1);
13981399 }
1400+
1401+ # Collect logs in iscsi service node if there is.
1402+ qesap_save_y2logs(provider => $provider , host => ' iscsi[0]' , failok => 1) if (script_run(" grep -q 'iscsi' $inventory " ) == 0);
13991403 }
14001404
14011405 if ($provider eq ' AZURE' ) {
@@ -1407,6 +1411,53 @@ sub qesap_cluster_logs {
14071411 }
14081412}
14091413
1414+ =head3 qesap_save_y2logs
1415+
1416+ Collect y2logs from nodes of a deployed cluster
1417+
1418+ =over
1419+
1420+ =item B<PROVIDER > - Cloud provider name using same format of PUBLIC_CLOUD_PROVIDER setting
1421+
1422+ =item B<HOST > - node of a deployed cluster
1423+
1424+ =back
1425+ =cut
1426+
1427+ sub qesap_save_y2logs {
1428+ my (%args ) = @_ ;
1429+ foreach (qw( provider host) ) { croak " Missing mandatory $_ argument" unless $args {$_ }; }
1430+ $args {failok } //= 0;
1431+
1432+ my $log_filename = " $args {host}-y2logs.tar.gz" ;
1433+
1434+ $log_filename =~ s / [\[\] "]// g ;
1435+
1436+ qesap_ansible_cmd(cmd => " sudo save_y2logs /tmp/$log_filename " ,
1437+ provider => $args {provider },
1438+ filter => " \" $args {host}\" " ,
1439+ host_keys_check => 1,
1440+ verbose => 1,
1441+ timeout => bmwqemu::scale_timeout(7200),
1442+ failok => $args {failok });
1443+ qesap_ansible_cmd(cmd => " sudo chmod 755 /tmp/$log_filename " ,
1444+ provider => $args {provider },
1445+ filter => " \" $args {host}\" " ,
1446+ host_keys_check => 1,
1447+ verbose => 1,
1448+ timeout => bmwqemu::scale_timeout(7200),
1449+ failok => $args {failok });
1450+ my $local_path = qesap_ansible_fetch_file(provider => $args {provider },
1451+ host => $args {host },
1452+ failok => $args {failok },
1453+ root => 1,
1454+ remote_path => ' /tmp/' ,
1455+ out_path => ' /tmp/ansible_script_output/' ,
1456+ file => " $log_filename " ,
1457+ verbose => 1);
1458+ upload_logs($local_path , failok => 1);
1459+ }
1460+
14101461=head3 qesap_supportconfig_logs
14111462
14121463 Collect supportconfig logs from all HANA nodes of a deployed cluster
0 commit comments