timestamp); $formattedTime = strftime("%k:%M", strtotime($date->month."/".$date->day."/".$date->year." ".$date->hour.":".$date->minute.":".$date->second)); // Check the timezone to see if it is custom. If so, // "Custom" will be shown as the timezone in the report. $ret_val = get_custom_tz_dst($user); $ret_val_array = explode ("?",$ret_val->custom_tz_dst); $CustomTZMethod = $ret_val_array[0]; $UseCustomTZ = ($CustomTZMethod == 'EXACT'); $networkConfig = get_network_configuration_ipv4($user); $productInfo = get_product_info($user); error_log("Product Info = " . print_r($productInfo, true )); $sortCriteria = new SortCriteria(); $sortCriteria->sortColumn = 3; $sortCriteria->ascending = 1; $sortCriteria->filterPattern = "*"; $drives = get_all_drives_ex($user, $sortCriteria); $iobs = get_blades($user); error_log("I/O Blades = " . print_r($iobs, true )); $sort = new SortCriteria(); $libs = get_logical_libraries($user, $sort); $IPv6Enabled = is_ipv6_enabled(); $ipv6Addrs = get_all_ipv6_addresses(); error_log("ipv6Addrs = ". print_r($ipv6Addrs, true ) ); //$ipv6Addrs = array("2001::55:ee/64", "2001::55:3e/64", "2001::55:2e/64", "2001::55:1e/64", "2001::55:e9/64", "2001::55:e8/64", "2001::55:e7/64", "2001::55:e6/64", "2001::55:e5/64", "2001::55:e4/64", "2001::55:e3/64", "2001::55:e2/64", "2001::55:e1/64" ); // Must be brand 'dell' $theSN = $productInfo->serialnumber; $ApolloVer = ""; // Is this an Apollo robot? $descriptions = get_firmware_versions($user); error_log("get_firmware_versions = ". print_r($descriptions, true) ); $isApollo = false; foreach($descriptions as $description) { // CR 19990 Do not diaply the Apollo imager version if( $description->component == "Robot Firmware" ) { $ApolloVer = $description->version; if($ApolloVer == "") // If the robot is dead this can come back blank $ApolloVer = "N/A"; break; } } // Handle the encryption stuff $doEKM = is_ibm_encryption_licensed($user); if ($doEKM) { $akmServAvail = @akm_servers_available($user); if ($akmServAvail == 1) // Ensure that both are up { $qkmVer = akm_get_software_version($user); error_log("akm_get_software_version returned ". print_r($ver,true) ); } else { $qkmVer = "Unknown"; error_log("akm servers not available, setting qkm version to Unknown"); } $akm_data = get_ekm( $user, 2 ); error_log("akm_data = ". print_r($akm_data, true) ); $ekm_data = get_ekm( $user, 1 ); //!?! get_akm( $user ); error_log("ekm_data = ". print_r($ekm_data, true) ); $ekmServerDefault = ""; // If this is blank the display will show Q-EKM else it will so what is in the var. $sslEnabled = get_ekm_ssl($user)? Enabled : Disabled; } ?> System Information Report
 
Date & Time
Date Time Timezone
 
Physical Library
Host Name IPv4 Address Serial # Firmware Version
IPv6 Addresses

BSP Level Last update BSP Level Last update Robot Firmware Version
 
Library Partitions
Name Serial Number Control Path Mode Encryption Slots Media Drives
filterColumn = 0; $sortCriteria->ascending = true; $libraryDrives = get_all_drives_by_library($user, $lib->guid, $sortCriteria, (int) 0, (int) MEDIA_TYPE_ANY); $ekm_data_lib = get_ekm_by_library( $user, $lib->guid ); //error_log(print_r($libraryDrives, true)); $cpDrives = get_command_path_drives($user, $lib->guid); $commandPath = "None"; $foundCommandPath = false; foreach ($libraryDrives as $libraryDrive) { foreach ($cpDrives as $cpDrive) { if ($cpDrive == $libraryDrive->guid) { error_log("Command Path Drive interface type is :". print_r($libraryDrive->interfaceType,true) ); if ($libraryDrive->interfaceType == 'SCSI') { $commandPath = "SCSI ID ".$libraryDrive->scsiId; } else if ($libraryDrive->interfaceType == 'Fibre' && $libraryDrive->wwnn) { $commandPath = "WWNN ".$libraryDrive->wwnn; } else if ($libraryDrive->interfaceType == 'SAS' && $libraryDrive->wwnn) { # PCR 21072: Remove colon from SAS Address # PCR 21076: Show wwpn instead of wwnn, and change the label to "SAS Address" $saswwpn = str_replace(":", "", $libraryDrive->wwpn); $commandPath = "SAS Address
".$saswwpn; } $foundCommandPath = true; break; } } if ($foundCommandPath) break; } if ($foundCommandPath == false) { // If we still have not found a control path and there is a blade in the system - then make the Cp the blade. if( sizeof($iobs) != 0 ) { // Has BLADES $commandPath = "I/O Blade"; } } // Get the currents library's encryption status error_log("Guid:".$lib->guid); $EncryptionMethod = array( "N/A", "None", "System Managed", "Application Managed", "Library Managed", "Custom" ); $encryptData = get_partition_enryption($user, $lib->guid); // Make sure the method is valid - if not make it N/A if( $encryptData->method > sizeof($EncryptionMethod)) $encryptData->method = 0; // Check that encryption is supported by the partition. if not, // show the method as "unsupported". if(!GetEncryptionSupported($libraryDrives)) { $encryptionString = "Unsupported"; $encryptData->method = 0; } else $encryptionString = $EncryptionMethod[$encryptData->method]; // Make sure the method is valid - if not make it N/A if( $encryptData->method > sizeof($EncryptionMethod)) $encryptData->method = 0; // Note: This array is used below to display the encryption methods for the drives. $libraryEncryption[$lib->name] = $EncryptionMethod[$encryptData->method]; $ekm_data_lib = get_ekm_by_library( $user, $lib->guid ); if ($ekm_data_lib->serverType==1) { $encryptionType = "EKM"; } else { $encryptionType = "N/A"; } ?>
 
Drives
Location Vendor Model Type Serial Number Firmware Level Sled Boot Version Sled App Version Encryption I/O Blade
connected
guid ); error_log("drive->encryptionSupported = ". ($drive->encryptionSupported?"true":"false") ." | Location = ". $drive->location ); if( ($drive->encryptionSupported) && ($drive->driveType == 'LTO-4' || $drive->driveType == 'LTO-5') && ($drive->vendor == 'IBM') ) { //error_log("\n\nDriveName = ". $drive->name ." !"); $driveEncryption = $libraryEncryption[$drive->name]; $encryptionType = "EKM"; } else { $driveEncryption = "N/A"; $encryptionType = "N/A"; } ?>

No I/O Blades detected.

0 ) { ?>
I/O Blades
Location WWNN Firmware level Status