Changeset 651


Ignore:
Timestamp:
04/14/12 19:52:40 (12 years ago)
Author:
aclsce
Message:

Added check to be sure there is enough space on temporary filesystems (only on vargas, titane and mercure sx9).
If there is not enough space, we stop.

Location:
trunk/libIGCM
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/libIGCM/libIGCM_config/libIGCM_config.ksh

    r638 r651  
    420420  done 
    421421 
     422  #check to be sure there is enough space on temporary filesystems to run 
     423  IGCM_debug_Print 1 "Check if there is enough space on temporary filesystem" 
     424  IGCM_sys_check_quota 
     425 
    422426  IGCM_debug_PopStack "IGCM_config_Check" 
    423427} 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_brodie.ksh

    r645 r651  
    11511151   
    11521152} 
     1153 
     1154############################################################ 
     1155# Check of space available on temporary filesytems 
     1156function IGCM_sys_check_quota { 
     1157    IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1158    if ( $DEBUG_sys ) ; then 
     1159        echo "IGCM_sys_check_quota" 
     1160    fi 
     1161    IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1162} 
     1163 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_cesium.ksh

    r645 r651  
    14861486} 
    14871487 
     1488############################################################ 
     1489# Check of space available on temporary filesytems 
     1490function IGCM_sys_check_quota { 
     1491    IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1492    if ( $DEBUG_sys ) ; then 
     1493        echo "IGCM_sys_check_quota" 
     1494    fi 
     1495    IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1496} 
     1497 
    14881498############################################################## 
    14891499# NCO OPERATOR 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_curie.ksh

    r649 r651  
    19541954  IGCM_debug_PopStack "IGCM_sys_cdo" 
    19551955} 
     1956 
     1957############################################################ 
     1958# Check of space available on temporary filesytems 
     1959function IGCM_sys_check_quota { 
     1960    IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1961    if ( $DEBUG_sys ) ; then 
     1962        echo "IGCM_sys_check_quota" 
     1963    fi 
     1964    IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1965} 
     1966 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_default.ksh

    r645 r651  
    13951395    IGCM_debug_PopStack "IGCM_sys_build_run_file" 
    13961396} 
     1397 
     1398############################################################ 
     1399# Check of space available on temporary filesytems 
     1400function IGCM_sys_check_quota { 
     1401    IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1402    if ( $DEBUG_sys ) ; then 
     1403        echo "IGCM_sys_check_quota" 
     1404    fi 
     1405    IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1406} 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_iitm.ksh

    r640 r651  
    11181118    IGCM_debug_PopStack "IGCM_sys_build_run_file" 
    11191119} 
     1120 
     1121############################################################ 
     1122# Check of space available on temporary filesytems 
     1123function IGCM_sys_check_quota { 
     1124    IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1125    if ( $DEBUG_sys ) ; then 
     1126        echo "IGCM_sys_check_quota" 
     1127    fi 
     1128    IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1129} 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercure.ksh

    r650 r651  
    14461446} 
    14471447 
     1448############################################################ 
     1449# Check of space available on temporary filesytems 
     1450function IGCM_sys_check_quota { 
     1451    IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1452    if ( $DEBUG_sys ) ; then 
     1453        echo "IGCM_sys_check_quota" 
     1454    fi 
     1455    IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1456} 
     1457 
    14481458############################################################## 
    14491459# NCO OPERATOR 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercurex8.ksh

    r645 r651  
    14871487  IGCM_debug_PopStack "IGCM_sys_build_run_file" 
    14881488} 
     1489 
     1490############################################################ 
     1491# Check of space available on temporary filesytems 
     1492function IGCM_sys_check_quota { 
     1493    IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1494    if ( $DEBUG_sys ) ; then 
     1495        echo "IGCM_sys_check_quota" 
     1496    fi 
     1497    IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1498} 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_mercurex9.ksh

    r645 r651  
    15871587 
    15881588} 
     1589 
     1590############################################################ 
     1591# Check of space available on temporary filesytems 
     1592function IGCM_sys_check_quota { 
     1593  IGCM_debug_PushStack "IGCM_sys_check_quota"  
     1594  if ( $DEBUG_sys ) ; then 
     1595    echo "IGCM_sys_check_quota " 
     1596  fi 
     1597  # Limit of quota (in %) 
     1598  limit_quota=90 
     1599 
     1600  # Check of the volume 
     1601  volume_quota=$(ccc_quota | grep ' scratch' | awk '{print $2}') 
     1602  volume_avail=$(ccc_quota | grep ' scratch' | awk '{print $3}') 
     1603 
     1604  if ( [ ! X${volume_quota} = X ] && [ ! ${volume_quota} = "-" ] ) ; then 
     1605 
     1606    unit_avail=${volume_avail: -1} 
     1607    unit_quota=${volume_quota: -1} 
     1608 
     1609    temp_avail=${volume_avail%%${volume_avail: -1}*} 
     1610    temp_quota=${volume_quota%%${volume_quota: -1}*} 
     1611 
     1612    if [ ! ${unit_avail} = ${unit_quota} ] ; then 
     1613 
     1614    # Convertion 
     1615      if [ ${volume_avail: -1} = "T" ] ; then 
     1616          (( temp_avail = temp_avail * 1000000000000 )) 
     1617      elif [ ${volume_avail: -1} = "G" ] ; then 
     1618          (( temp_avail = temp_avail * 1000000000 )) 
     1619      elif [ ${volume_avail: -1} = "M" ] ; then 
     1620          (( temp_avail = temp_avail * 1000000 )) 
     1621      elif [ ${volume_avail: -1} = "k" ] ; then 
     1622          (( temp_avail = temp_avail * 1000 )) 
     1623      else 
     1624          (( temp_avail = volume_avail )) 
     1625      fi 
     1626      if [ ${volume_quota: -1} = "T" ] ; then 
     1627          (( temp_quota = temp_quota * 1000000000000 )) 
     1628      elif [ ${volume_quota: -1} = "G" ] ; then 
     1629          (( temp_quota = temp_quota * 1000000000 )) 
     1630      elif [ ${volume_quota: -1} = "M" ] ; then 
     1631          (( temp_quota = temp_quota * 1000000 )) 
     1632      elif [ ${volume_quota: -1} = "k" ] ; then 
     1633          (( temp_quota = temp_quota * 1000 )) 
     1634      else 
     1635          (( temp_quota = volume_quota )) 
     1636      fi 
     1637    fi 
     1638 
     1639    quota_volume=$(echo "scale=2 ; $temp_quota/$temp_avail*100" | bc) 
     1640#    echo "volume ratio is " $quota_volume 
     1641 
     1642    if [ ${quota_volume} -ge ${limit_quota} ] ; then 
     1643      IGCM_debug_Print 1 "Please, check your quota of inode on scratch" 
     1644      IGCM_debug_Print 1 "Use the ccc_quota command" 
     1645      IGCM_debug_Print 1 "You must have more than 10% available to run" 
     1646      IGCM_debug_Exit "Not enough space to run ! STOP HERE" 
     1647      IGCM_debug_Verif_Exit 
     1648    fi 
     1649 
     1650  fi 
     1651  IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1652} 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_obelix.ksh

    r645 r651  
    13671367    IGCM_debug_PopStack "IGCM_sys_build_run_file" 
    13681368} 
     1369 
     1370############################################################ 
     1371# Check of space available on temporary filesytems 
     1372function IGCM_sys_check_quota { 
     1373    IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1374    if ( $DEBUG_sys ) ; then 
     1375        echo "IGCM_sys_check_quota" 
     1376    fi 
     1377    IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1378} 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_platine.ksh

    r645 r651  
    14721472   
    14731473} 
     1474 
     1475############################################################ 
     1476# Check of space available on temporary filesytems 
     1477function IGCM_sys_check_quota { 
     1478    IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1479    if ( $DEBUG_sys ) ; then 
     1480        echo "IGCM_sys_check_quota" 
     1481    fi 
     1482    IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1483} 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_titane.ksh

    r649 r651  
    19681968} 
    19691969 
     1970############################################################ 
     1971# Check of space available on temporary filesytems 
     1972function IGCM_sys_check_quota { 
     1973  IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1974  if ( $DEBUG_sys ) ; then 
     1975    echo "IGCM_sys_check_quota " 
     1976  fi 
     1977  # Limit of quota (in %) 
     1978  limit_quota=90 
     1979 
     1980  # Check of the volume 
     1981  volume_quota=$(ccc_quota | grep ' scratch' | awk '{print $2}') 
     1982  volume_avail=$(ccc_quota | grep ' scratch' | awk '{print $3}') 
     1983 
     1984  if ( [ ! X${volume_quota} = X ] && [ ! ${volume_quota} = "-" ] ) ; then 
     1985 
     1986    unit_avail=${volume_avail: -1} 
     1987    unit_quota=${volume_quota: -1} 
     1988 
     1989    temp_avail=${volume_avail%%${volume_avail: -1}*} 
     1990    temp_quota=${volume_quota%%${volume_quota: -1}*} 
     1991 
     1992    if [ ! ${unit_avail} = ${unit_quota} ] ; then 
     1993 
     1994    # Convertion 
     1995      if [ ${volume_avail: -1} = "T" ] ; then 
     1996        (( temp_avail = temp_avail * 1000000000000 )) 
     1997      elif [ ${volume_avail: -1} = "G" ] ; then 
     1998        (( temp_avail = temp_avail * 1000000000 )) 
     1999      elif [ ${volume_avail: -1} = "M" ] ; then 
     2000        (( temp_avail = temp_avail * 1000000 )) 
     2001      elif [ ${volume_avail: -1} = "k" ] ; then 
     2002        (( temp_avail = temp_avail * 1000 )) 
     2003      else 
     2004        (( temp_avail = volume_avail )) 
     2005      fi 
     2006      if [ ${volume_quota: -1} = "T" ] ; then 
     2007        (( temp_quota = temp_quota * 1000000000000 )) 
     2008      elif [ ${volume_quota: -1} = "G" ] ; then 
     2009        (( temp_quota = temp_quota * 1000000000 )) 
     2010      elif [ ${volume_quota: -1} = "M" ] ; then 
     2011        (( temp_quota = temp_quota * 1000000 )) 
     2012      elif [ ${volume_quota: -1} = "k" ] ; then 
     2013        (( temp_quota = temp_quota * 1000 )) 
     2014      else 
     2015        (( temp_quota = volume_quota )) 
     2016      fi 
     2017    fi 
     2018 
     2019    quota_volume=$(echo "scale=2 ; $temp_quota/$temp_avail*100" | bc) 
     2020#    echo "volume ratio is " $quota_volume 
     2021 
     2022    if [ ${quota_volume} -ge ${limit_quota} ] ; then 
     2023      IGCM_debug_Print 1 "Please, check your quota of volume on scratch" 
     2024      IGCM_debug_Print 1 "Use the ccc_quota command" 
     2025      IGCM_debug_Print 1 "You must have more than 10% available to run" 
     2026      IGCM_debug_Exit "Not enough space to run ! STOP HERE" 
     2027      IGCM_debug_Verif_Exit 
     2028    fi 
     2029 
     2030  fi 
     2031 
     2032# Check of the number of inodes 
     2033 
     2034  inode_quota=$(ccc_quota | grep ' scratch' | awk '{print $6}') 
     2035  inode_avail=$(ccc_quota | grep ' scratch' | awk '{print $7}') 
     2036 
     2037  if ( [ ! X${inode_quota} = X ] && [ ! ${inode_quota} = "-" ] ) ; then 
     2038 
     2039    unit_avail=${inode_avail: -1} 
     2040    unit_quota=${inode_quota: -1} 
     2041 
     2042    temp_avail=${inode_avail%%${inode_avail: -1}*} 
     2043    temp_quota=${inode_quota%%${inode_quota: -1}*} 
     2044 
     2045    if [ ! ${unit_avail} = ${unit_quota} ] ; then 
     2046 
     2047    # Convertion 
     2048      if [ ${inode_avail: -1} = "T" ] ; then 
     2049        (( temp_avail = temp_avail * 1000000000000 )) 
     2050      elif [ ${inode_avail: -1} = "G" ] ; then 
     2051        (( temp_avail = temp_avail * 1000000000 )) 
     2052      elif [ ${inode_avail: -1} = "M" ] ; then 
     2053        (( temp_avail = temp_avail * 1000000 )) 
     2054      elif [ ${inode_avail: -1} = "k" ] ; then 
     2055        (( temp_avail = temp_avail * 1000 )) 
     2056      else 
     2057        (( temp_avail = inode_avail )) 
     2058      fi 
     2059 
     2060      if [ ${inode_quota: -1} = "T" ] ; then 
     2061        (( temp_quota = temp_quota * 1000000000000 )) 
     2062      elif [ ${inode_quota: -1} = "G" ] ; then 
     2063        (( temp_quota = temp_quota * 1000000000 )) 
     2064      elif [ ${inode_quota: -1} = "M" ] ; then 
     2065        (( temp_quota = temp_quota * 1000000 )) 
     2066      elif [ ${inode_quota: -1} = "k" ] ; then 
     2067        (( temp_quota = temp_quota * 1000 )) 
     2068      else 
     2069        (( temp_quota = inode_quota )) 
     2070      fi 
     2071    fi 
     2072    quota_inode=$(echo "scale=2 ; $temp_quota/$temp_avail*100" | bc) 
     2073#    echo "inode ratio is " $quota_inode 
     2074 
     2075    if [ ${quota_inode} -ge ${limit_quota} ] ; then 
     2076      IGCM_debug_Print 1 "Please, check your quota of inode on scratch" 
     2077      IGCM_debug_Print 1 "Use the ccc_quota command" 
     2078      IGCM_debug_Print 1 "You must have more than 10% available to run" 
     2079      IGCM_debug_Exit "Not enough space to run ! STOP HERE" 
     2080      IGCM_debug_Verif_Exit 
     2081    fi 
     2082 
     2083  fi 
     2084  IGCM_debug_PopStack "IGCM_sys_check_quota" 
     2085} 
     2086 
    19702087############################################################## 
    19712088# NCO OPERATOR 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_ulam.ksh

    r645 r651  
    12771277  IGCM_debug_PopStack "IGCM_sys_build_run_file" 
    12781278} 
     1279 
     1280############################################################ 
     1281# Check of space available on temporary filesytems 
     1282function IGCM_sys_check_quota { 
     1283    IGCM_debug_PushStack "IGCM_sys_check_quota" 
     1284    if ( $DEBUG_sys ) ; then 
     1285        echo "IGCM_sys_check_quota" 
     1286    fi 
     1287    IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1288} 
  • trunk/libIGCM/libIGCM_sys/libIGCM_sys_vargas.ksh

    r644 r651  
    15471547 
    15481548} 
     1549 
     1550############################################################ 
     1551# Check of space available on temporary filesytems 
     1552function IGCM_sys_check_quota { 
     1553  IGCM_debug_PushStack "IGCM_sys_check_quota"  
     1554  if ( $DEBUG_sys ) ; then 
     1555    echo "IGCM_sys_check_quota " 
     1556  fi 
     1557  # Limit of quota (in %) 
     1558  limit_quota=90 
     1559  # Check of the volume 
     1560  volume_quota=$(quota_u -w | grep 'Quota soft' | awk '{print $5}') 
     1561  if [ ! X${volume_quota} = X ] ; then 
     1562    quota_volume=${volume_quota%%\%} 
     1563#    echo $quota_volume 
     1564    if [ ${quota_volume} -ge ${limit_quota} ] ; then 
     1565      IGCM_debug_Print 1 "Please, check your quota of inode on scratch" 
     1566      IGCM_debug_Print 1 "Use the ccc_quota command" 
     1567      IGCM_debug_Print 1 "You must have more than 10% available to run" 
     1568      IGCM_debug_Exit "Not enough space to run ! STOP HERE" 
     1569      IGCM_debug_Verif_Exit 
     1570    fi 
     1571 
     1572  fi 
     1573  IGCM_debug_PopStack "IGCM_sys_check_quota" 
     1574} 
Note: See TracChangeset for help on using the changeset viewer.