<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

   <!-- Page Title -->
   <title>Web Infra Reports</title>
   <link rel="shortcut icon" type="image/png" href="/include/favicon-32x32.png">

   <!-- JQuery -->
   <script src="/js/jquery-3.6.1.min.js"></script>
   <!-- Bootstrap -->
   <link rel="stylesheet" href="/css/bootstrap.min.css">
   <link rel="stylesheet" href="/css/bootstrap-icons/bootstrap-icons.css">
   <script src="/js/bootstrap.bundle.min.js"></script>
   <!-- Bootstrap-tables -->
   <link rel="stylesheet" href="/css/bootstrap-table.min.css">
   <script src="/js/bootstrap-table.min.js"></script>
   <script src="/js/bootstrap-table-fr-FR.min.js"></script>
   <!-- Chart -->
   <script src="/js/chart.min.js"></script>
   
</head>

<body class="bg-light text-dark">
  <?php include $_SERVER['DOCUMENT_ROOT']."/include/all.php" ; ?>
  <div class="container-fluid">
    <div class="row flex-nowrap">
      <!-- Left NAVBAR -->
      <div class="col-auto col-md-2 col-xl-2 px-sm-2 px-0 bg-dark" style="-ms-flex: 0 0 230px;flex: 0 0 230px;">
        <?php include $_SERVER['DOCUMENT_ROOT']."/navbar.html" ; ?>  <!-- Left Navbar -->
      </div>
      <!-- Display -->
      <div class="col py-3">
        <!-- Page Title -->
        <h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">SVC Storage Dashboard</span></h1>
        
        <!-- Main content -->
        <?php 
          //Gold => 5100
          //Silver => 5030

          $GB = 1024*1024*1024;
          $TB = $GB * 1024;
          //get full data
          $json = json_decode(PostJson("$bdnuss/Storage/SVC/SVC_INVENTORY.php",''),true);
          
          // Sum LUN Size by Bay
          $lunsGold = 0 ; $lunsSilver = 0 ;
          try{
            foreach($json['Data']['VolumeCopies'] as $data){
              if(strpos($data['mdisk_grp_name'],"5100") !== false){
                $lunsGold += $data['capacity'] ;
              }else{
                $lunsSilver += $data['capacity'] ;
              }
            }
          }catch(Exception $e){}

          // Get Full Capacity
          $goldCapacity = 0 ; $silverCapacity = 0 ; $GoldCompression = 0;$SilverCompression = 0;
          foreach($json['Data']['Pools'] as $data){
            if(strpos($data['name'],"5100") !== false){
              $goldCapacity += $data['capacity'] ;
              if($data['used_capacity'] > 0){
                $GoldCompression += ($data['real_capacity'] / $data['used_capacity']);
              }
            }else{
              $silverCapacity += $data['capacity'] ;
              if($data['used_capacity'] > 0){
                $SilverCompression += ($data['real_capacity'] / $data['used_capacity']);
              }
            }
          }

          // Datas
          $goldCapacity =  $goldCapacity / 2;
          $silverCapacity = $silverCapacity / 2 ;
          $GoldFree = $goldCapacity - $lunsGold ;
          $SilverFree = $silverCapacity - $lunsSilver ;
          $goldPercentUsed = round($lunsGold / $goldCapacity * 100 ,2) ;
          $silverPercentUsed = round($lunsSilver / $silverCapacity * 100 ,2)  ;
          $GoldCompression = round($GoldCompression / 2,2);
          $SilverCompression = round($GoldCompression / 2,2);

          // Unnasigned Luns
          $unnasigned = 0 ;
          $cuc = "bg-success";
          $lLUN = "";
          foreach($json['Data']['Volumes'] as $volume){
            if($volume['protocol'] != "scsi"){$unnasigned++;$cuc = "bg-warning";$lLUN .= $volume['name']."<br>";}
          }

          // Orphan Hosts
          $orphanHosts = 0 ;
          $chc = "bg-success";
          $lHOST = "";
          foreach($json['Data']['Hosts'] as $host){
            if($host['protocol'] != "scsi"){$orphanHosts++;$chc = "bg-warning";$lHOST .= $host['name']."<br>";}
          }
          if($json['Data']['Hostclusters']){
            foreach($json['Data']['Hostclusters'] as $host){
              if($host['protocol'] != "scsi"){$orphanHosts++;$chc = "bg-warning";$lHOST .= $host['name']."<br>";}
            }
          }
        ?>
    
        
          <br>
            <!-- Carte GOLD -->
            <div class="card mb-3" style="border: 3px solid black">
              <div class="card-header text-dark text-center fs-3 bg-info">
                <i class="fs-4 bi-server text-black"></i><b> Gold (V5100)</b>
              </div>
              <div class="card-body bg-dark fs-4">
                <div class="row">
                  <div class="col">
                    <b>Total Capacity : </b><?php echo round($goldCapacity / $TB,2); ?> TB
                  </div>
                  <div class="col">
                    <b>Used (raw) : </b><?php echo round($lunsGold / $TB,2); ?> TB (<?php echo $goldPercentUsed ;?>% )
                  </div>
                  <div class="col">
                    <b>Free (raw) : </b><?php echo round($GoldFree / $TB,2); ?> TB
                  </div>
                </div>
                <div class="row">
                  <div class="col"></div>
                  <div class="col">
                    <b>Compression : </b><?php echo number_format($GoldCompression, 2, ',', '') ; ?>:1
                  </div>
                  <div class="col">
                    <b>Free (estimated) : </b><?php echo round($GoldFree * $GoldCompression / $TB,2) ; ?> TB
                  </div>
                </div>
                <br>
                <div class="progress border border-light" style="height: 40px;">
                  <?php 
                    $pbc = "bg-success";
                    if($goldPercentUsed >= 75){$pbc = "bg-warning";}
                    if($goldPercentUsed >= 90){$pbc = "bg-danger";}
                  ?>
                  <div class="progress-bar <?php echo $pbc; ?>" role="progressbar" style="width: <?php echo $goldPercentUsed ;?>%;" aria-valuenow="<?php echo $goldPercentUsed ;?>" aria-valuemin="0" aria-valuemax="100"></div>
                  <div class="progress-bar bg-black bg-gradient" role="progressbar" style="width: <?php echo 100 - $goldPercentUsed ;?>%;" aria-valuenow="<?php echo 100 - $goldPercentUsed ;?>" aria-valuemin="0" aria-valuemax="100"></div>
                </div>
              </div>
            </div>
            <br>
            <!-- Carte Silver -->
            <div class="card mb-3" style="border: 3px solid black">
              <div class="card-header text-dark text-center fs-3 bg-info">
                <i class="fs-4 bi-server text-black"></i><b> Silver (V5030)</b>
              </div>
              <div class="card-body bg-dark fs-4">
                <div class="row">
                  <div class="col">
                    <b>Total Capacity : </b><?php echo round($silverCapacity / $TB,2); ?> TB
                  </div>
                  <div class="col">
                    <b>Used (raw) : </b><?php echo round($lunsSilver / $TB,2); ?> TB (<?php echo $silverPercentUsed ;?>% )
                  </div>
                  <div class="col">
                    <b>Free (raw) : </b><?php echo round($SilverFree / $TB,2); ?> TB
                  </div>
                </div>
                <div class="row">
                  <div class="col"></div>
                  <div class="col">
                    <b>Compression : </b><?php echo number_format($SilverCompression, 2, ',', ''); ?>:1
                  </div>
                  <div class="col">
                    <b>Free (estimated) : </b><?php echo round($SilverFree * $SilverCompression / $TB,2) ; ?> TB
                  </div>
                </div>
                <br>
                <div class="progress border border-light" style="height: 40px;">
                  <?php 
                    $pbc = "bg-success";
                    if($silverPercentUsed >= 75){$pbc = "bg-warning";}
                    if($silverPercentUsed >= 90){$pbc = "bg-danger";}
                  ?>
                  <div class="progress-bar <?php echo $pbc; ?>" role="progressbar" style="width: <?php echo $silverPercentUsed ;?>%;" aria-valuenow="<?php echo $silverPercentUsed ;?>" aria-valuemin="0" aria-valuemax="100"></div>
                  <div class="progress-bar bg-black bg-gradient" role="progressbar" style="width: <?php echo 100 - $silverPercentUsed ;?>%;" aria-valuenow="<?php echo 100 - $silverPercentUsed ;?>" aria-valuemin="0" aria-valuemax="100"></div>
                </div>
              </div>
            </div>
          <hr>
          <!-- IO_grp -->
          <div class="row flex-nowrap text-center">  
            <div class="col"><!-- GRP0 -->
              <div class="card border-secondary mb-3">
                <div class="card-header text-dark text-center bg-info">
                  <h5><i class="fs-4 bi-hdd-network text-black"></i> IO_grp 0</h5>
                </div>
                <div class="card-body bg-dark">
                  <b>Hosts : </b><?php echo $json['Data']['IOgroups']['io_grp0']['host_count']; ?><br>
                  <b>Volumes : </b><?php echo $json['Data']['IOgroups']['io_grp0']['vdisk_count']; ?>
                </div>
              </div>
            </div>
            <div class="col"><!-- GRP1 -->
              <div class="card border-secondary mb-3">
                <div class="card-header text-dark text-center bg-info">
                  <h5><i class="fs-4 bi-hdd-network text-black"></i> IO_grp 1</h5>
                </div>
                <div class="card-body bg-dark text-left">
                  <b>Hosts : </b><?php echo $json['Data']['IOgroups']['io_grp1']['host_count']; ?><br>
                  <b>Volumes : </b><?php echo $json['Data']['IOgroups']['io_grp1']['vdisk_count']; ?>
                </div>
              </div>
            </div>
            <div class="col"><!-- GRP2 -->
              <div class="card border-secondary mb-3">
                <div class="card-header text-dark text-center bg-info">
                  <h5><i class="fs-4 bi-hdd-network text-black"></i> IO_grp 2</h5>
                </div>
                <div class="card-body bg-dark">
                  <b>Hosts : </b><?php echo $json['Data']['IOgroups']['io_grp2']['host_count']; ?><br>
                  <b>Volumes : </b><?php echo $json['Data']['IOgroups']['io_grp2']['vdisk_count']; ?>
                </div>
              </div>
            </div>
            <div class="col"><!-- Orphan LUNS -->
              <div class="card border-secondary mb-3">
                <div class="card-header text-dark text-center <?php echo $cuc; ?>">
                  <h5><i class="fs-4 bi-hdd text-black"></i> Unnasigned LUNs</h5>
                </div>
                <div class="card-body bg-dark text-center fs-2">
                  <button type="button" class="btn btn-secondary" data-bs-html="true" data-toggle="tooltip" data-placement="top" title="<?php echo $lLUN;?>"><b><?php echo $unnasigned; ?></b></button>
                </div>
              </div>
            </div>
            <div class="col"><!-- Orphan Hosts -->
              <div class="card border-secondary mb-3">
                <div class="card-header text-dark text-center <?php echo $chc; ?>">
                  <h5><i class="fs-4 bi-hdd text-black"></i> Hosts w/o LUNs</h5>
                </div>
                <div class="card-body bg-dark text-center fs-2">
                  <button type="button" class="btn btn-secondary" data-bs-html="true" data-toggle="tooltip" data-placement="top" title="<?php echo $lHOST;?>"><b><?php echo $orphanHosts; ?></b></button>
                </div>
              </div>
            </div>
          </div>
        </div>
        <!-- End of main content -->
      </div>
    </div>
  </div>
  <script src="/js/switch.js"></script>
</body>
<script>
  $(function () {
  $('[data-toggle="tooltip"]').tooltip()
})
</script>