Example #1
0
def get_net_adapters(ini_file, verbose=False, quit=True):# {{{
    """Returns a list of active net addapters
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)
    return get_ini_options(ini_file, "net_adapters",verbose=verbose, quit=True)
Example #2
0
def get_ini_values(ini_file, section,  verbose=False, quit=True):# {{{
    """Returns all the  values of a section
    :conf_file: The ini configuration file 
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)

    conf_file=ini_file  # Configuration file filename

    config = SafeConfigParser()
    config.optionxform = str
    config.read(conf_file)
  
    if not config.has_section(section):
        amd.err_msg("Inexistent section:", section, exit_code=1)

    values_list=[]


    opt_value_items=get_ini_items(ini_file, section)
    # Converting the list of tuples into a dictionary for better parsing
    opt_value_dct = dict(opt_value_items)

    for opt,val in opt_value_dct.items():
        values_list.append(val)

    return values_list
Example #3
0
def get_ini_value(ini_file, section, option, verbose=False, quit=True):# {{{
    """Retrieves the value of an option
    :conf_file: The ini configuration file 
    :verbose:   Show what is going on
    :quit:      Exit on errr
    """
    pfn(verbose=verbose)

    conf_file=ini_file  # Configuration file filename

    config = SafeConfigParser()
    config.optionxform = str
    config.read(conf_file)
  
    if not config.has_section(section):
        amd.err_msg("Inexistent section:", section, exit_code=1)
    if not config.has_option(section, option):
        amd.err_msg("Inexistent option:",
            option,
            "in section:",
            section,
            "in the file:",
            ini_file,
            exit_code=1)


    value = config.get(section, option)

    return value
Example #4
0
def get_active_vg(ini_file, verbose=False, quit=True):# {{{
    """Returns a list of active VGs 
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)

    return get_ini_options(ini_file, "vg_active",verbose=verbose, quit=True)
Example #5
0
def get_active_vg_and_major(ini_file, verbose=False, quit=True):# {{{
    """Returns a list of of active VGs and their Major Numbers
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)

    return get_ini_items(ini_file, "vg_active",verbose=verbose, quit=True)
Example #6
0
def get_root_homedir(ini_file, verbose=False, quit=True):# {{{
    """Returns the 
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)
   
    root_home=False
    root_home=get_ini_value(ini_file, "root", "home")
    return root_home
Example #7
0
def get_ame_factor(ini_file, verbose=False, quit=True):# {{{
    """Returns the Active Memory Expansion factor
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)
   
    ame=False
    ame=get_ini_value(ini_file, "lparstat", "target memory expansion factor")
    return ame
Example #8
0
def get_gpfs_nsd(ini_file, verbose=False, quit=True):# {{{
    """Returns  list|False:    The NSD list of the gpfs
    :verbose:   Show what is going on
    :quit:      Exit on error
    """
    pfn(verbose=verbose)

    return get_ini_options(ini_file,
            "gpfs_nsd_list",
            verbose=verbose,
            quit=True)
Example #9
0
def get_Major(ini_file, vg,  verbose=False, quit=True):# {{{
    """Returns a string representing the Major number of  the file
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)
   
    major=False
    major=get_ini_value(ini_file, "vg_active", vg)

    return major
Example #10
0
def get_gpfs_manager(ini_file, verbose=False, quit=True):# {{{
    """Returns  list|False:    The ip ddr/hostname of the gpfs manager
    :verbose:   Show what is going on
    :quit:      Exit on error
    """
    pfn(verbose=verbose)

    return get_ini_options(ini_file,
            "gpfs_cluster_manager",
            verbose=verbose,
            quit=True)
Example #11
0
def get_vgid(ini_file, vg,  verbose=False, quit=True):# {{{
    """Returns a string representing the vgid number of  the file
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)
   
    vgid=False
    vgid=get_ini_value(ini_file, "vg_id", vg)

    return vgid
Example #12
0
def get_gpfs_fs_list(ini_file, verbose=False, quit=True):# {{{
    """Returns  list|False:    The NSD list of the gpfs
    :verbose:   Show what is going on
    :quit:      Exit on error =verbose)"""

    pfn(verbose=verbose)

    return get_ini_values(ini_file,
#             "gpfs_mounted_fs",
           "gpfs_mounted_fs",
            verbose=verbose,
            quit=True)
Example #13
0
def get_ip_addrs(ini_file, section="net_addapters",verbose=False,  quit=True):# {{{
    """Returns all the ip addresses
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)
    ip_addrs_list=[]
    net_adapters_list=get_net_adapters(ini_file)
    for adapter in net_adapters_list:
        ip_addr = get_ini_value(ini_file, "ip_addr", adapter)
        ip_addrs_list.append(ip_addr)
    return ip_addrs_list
Example #14
0
def get_ame_max_memory(ini_file, verbose=False, quit=True):# {{{
    """Returns str: the Maximum Memory in MB
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)
   
    max_mem=False
    max_mem=get_ini_value(ini_file, "lparstat", "maximum memory")
    if "MB" in max_mem:
       max_mem=max_mem.split()[0]
    return max_mem
Example #15
0
def get_alias_addrs(ini_file, section="alias_addr",verbose=False,  quit=True):# {{{
    """Returns all the IP ALIASES 
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)
    ip_alias_list=[]
    alias_items=get_ini_items(ini_file, section)
    for item in alias_items:
        ip_alias_list.append(item[1])

    return ip_alias_list
Example #16
0
def get_def_routes(ini_file, section="default_route",verbose=False,  quit=True):# {{{
    """Returns all the Default Routes
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)
    default_route_list=[]
    default_route=get_ini_options(ini_file, section)
    for route in default_route:
        if route:
            default_route_list.append(route)

    return default_route_list
Example #17
0
def is_ping_reachabe(hostname,silent=False, verbose=False): # {{{
    """Checking if a host is reachable over ping"""

    pfn(verbose=verbose)

    if silent:
        response = os.system("ping -c 1 > /dev/null " + hostname)
    else:
        response = os.system("ping -c 1 " + hostname)
    if response == 0:
      return True
    else:
      return False
Example #18
0
def import_vg(vg,major,pv,verbose=False, q=True, activate=True):
    """Imports a Volume Group from a PV

    :vg:    The vg name: e.g. VGS230BASE 
    :major: The major number used for importing the vg. e.g. 100
    :pv:    The Phisical Volume name used to import the VG e.g. hdisk12 
    :v:      Verbosity, show what is going on
    :q:      Quit on erorr: True
    :returns: bools
    :cmd:   importvg -V 100 -y  VGS230BASE hdisk5

    : examples   import_vg("VGS230BASE", "100", "hdisk12")
                 import_vg("VGS230BASE", "100", "hdisk12", verbose=2)

    :Todo:  Implement other importvg specific flags
    """
    pfn(verbose)
    if verbose:
       amd.info_cyan_msg("Starting to import the Volume Group")

    unix_cmd=("/usr/sbin/importvg "\
            " -V {} "\
            " -y {}"\
            "  {}"\
            ).format(major,vg, pv)
    
    if verbose >= 2:
        print "Debugging:unix_cmd is:{}:".format(unix_cmd)	# FOR Debugging
    
    p = subprocess.Popen(unix_cmd,\
            shell=True, stdout=subprocess.PIPE,\
            stderr=subprocess.STDOUT)
    rc = p.wait()
    
        # Unix_cmd has failed
    if rc!=0:
        if q:
            amd.err_msg("Unable to import the vg:", vg, exit_code=1)
        else:
            if v:
                amd.err_msg("Unable to import the vg:", vg,)
        return False
    
    
        # Unix_cmd executed successfully
    elif rc==0:
        if verbose >= 2:
            amd.ok_msg("VG has been successfully imported:")
        return True
Example #19
0
def get_ame_target_memory(ini_file, verbose=False, quit=True):# {{{
    """Returns str: the target Memory Expansion Size MB
                  : This is the actual memory size of the lpar
    :verbose:   Show what is going on
    :quit:      Exit on err
    """
    pfn(verbose=verbose)
   
    target_mem=False
    target_mem=get_ini_value(ini_file,
          "lparstat",
          "target memory expansion size")
    if "MB" in target_mem:
       target_mem=target_mem.split()[0]
    return target_mem
Example #20
0
def get_ini_sections(ini_file, verbose=False, quit=True):# {{{
    """Retrieves the list of sections names
    :conf_file: The ini configuration file 
    :verbose:   Show what is going on
    :quit:      Suppresses output 
    :: TODO
    """
    pfn(verbose=verbose)

    conf_file=ini_file  # Configuration file filename
    
    config = SafeConfigParser()
    config.optionxform = str
    config.read(conf_file)
   
    return config.sections()
Example #21
0
def compile_default_route_string(ini_file,verbose=False, quit=True):# {{{
    """Compiles default route string
    #/usr/sbin/chdev -l inet0 -a route=net,-hopcount,0,,,,,,0,$gw 

    :conf_file: The ini configuration file : default : /space/node_ini_lpar
    :returns: string
    """
    pfn(verbose=verbose)

    route_list=get_ini_options(ini_file, "default_route")
    default_route_config_string=""
    for route in route_list:
        default_route_config_string +=\
                "/usr/sbin/chdev -l inet0 -a route=net,-hopcount,0,,,,,,0,{}\n".\
                format(route)

    return default_route_config_string
Example #22
0
def compile_ip_alias_string(ini_file,verbose=False, quit=True):# {{{
    """Compiles the ip Alias  configuration and returns a string
    # /usr/sbin/chdev -l en2 -a alias4=164.139.216.14,255.255.255.128

    :conf_file: The ini configuration file : default : /space/node_ini_lpar
    :returns: string
    """
    pfn(verbose=verbose)

    adapter_list=get_ini_options(ini_file, "alias_addr")
    alias_config_string=""
    for adapter in adapter_list:
        ip = get_ini_value(ini_file, "alias_addr", adapter)
        mask = get_ini_value(ini_file, "alias_netmask", adapter)
        alias_config_string +=\
                "/usr/sbin/chdev -l {} -a alias4={},{}\n".\
                format(adapter, ip, mask)

    return alias_config_string
Example #23
0
def compile_ip_string(ini_file,verbose=False, quit=True):# {{{
    """Compiles the ip configuration and returns a string
    # /usr/sbin/chdev -l $dev -a netaddr=$addr -a netmask=$mask -a state=$state 2>&1)

    :conf_file: The ini configuration file : default : /space/node_ini_lpar
    :returns: string
    """
    pfn(verbose=verbose)

    adapter_list=get_ini_options(ini_file, "ip_addr")
    ip_config_string=""
    for adapter in adapter_list:
        ip = get_ini_value(ini_file, "ip_addr", adapter)
        mask = get_ini_value(ini_file, "ip_netmask", adapter)
        ip_config_string +=\
                "/usr/sbin/chdev -l {} -a netaddr={} -a netmask={} -a state=up \n".\
                format(adapter, ip, mask)

    return ip_config_string
Example #24
0
def get_ini_options(ini_file, section, verbose=False, quit=True):# {{{
    """Retrieves the options of a given section name
    :conf_file: The ini configuration file 
    :verbose:   Show what is going on
    :quit:      Exit on errr
    :returns:   list
    """
    pfn(verbose=verbose)

    conf_file=ini_file  # Configuration file filename

    config = SafeConfigParser()
    config.optionxform = str
    config.read(conf_file)
  
    if not config.has_section(section):
        amd.err_msg("Inexistent section:", section, exit_code=1)

    option_list=config.options(section)

    return option_list