@@ -81,6 +81,7 @@ our @EXPORT = qw(
81
81
qesap_cluster_logs
82
82
qesap_upload_crm_report
83
83
qesap_supportconfig_logs
84
+ qesap_save_y2logs
84
85
qesap_add_server_to_hosts
85
86
qesap_calculate_deployment_name
86
87
qesap_export_instances
@@ -1386,6 +1387,9 @@ sub qesap_cluster_logs {
1386
1387
# Upload crm report
1387
1388
qesap_upload_crm_report(host => $host , provider => $provider , failok => 1);
1388
1389
}
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);
1389
1393
}
1390
1394
1391
1395
if ($provider eq ' AZURE' ) {
@@ -1397,6 +1401,53 @@ sub qesap_cluster_logs {
1397
1401
}
1398
1402
}
1399
1403
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
+
1400
1451
=head3 qesap_supportconfig_logs
1401
1452
1402
1453
Collect supportconfig logs from all HANA nodes of a deployed cluster
0 commit comments