Beispiel #1
0
def ra_agent_for_cpt(cpt):
    '''class:provider:type -> ra.agent'''
    agent = None
    ra_class, provider, rsc_type = ra.disambiguate_ra_type(cpt)
    if ra.ra_type_validate(cpt, ra_class, provider, rsc_type):
        agent = ra.RAInfo(ra_class, rsc_type, provider)
    return agent
Beispiel #2
0
 def do_info(self, context, *args):
     "usage: info [<class>:[<provider>:]]<type>"
     if len(args) == 0:
         context.fatal_error("Expected [<class>:[<provider>:]]<type>")
     elif len(args) > 1:  # obsolete syntax
         ra_type = args[0]
         ra_class = args[1]
         if len(args) < 3:
             ra_provider = "heartbeat"
         else:
             ra_provider = args[2]
     else:
         if args[0] in vars.meta_progs:
             ra_class = args[0]
             ra_provider = ra_type = None
         else:
             ra_class, ra_provider, ra_type = ra.disambiguate_ra_type(
                 args[0])
     agent = ra.RAInfo(ra_class, ra_type, ra_provider)
     if agent.mk_ra_node() is None:
         return False
     try:
         utils.page_string(agent.meta_pretty())
     except Exception, msg:
         context.fatal_error(msg)
Beispiel #3
0
 def class_provider_type(self, value):
     """
     Unravel [class:[provider:]]type
     returns: (class, provider, type)
     """
     c_p_t = disambiguate_ra_type(value)
     if not ra_type_validate(value, *c_p_t):
         return None
     return c_p_t
Beispiel #4
0
 def class_provider_type(self, value):
     """
     Unravel [class:[provider:]]type
     returns: (class, provider, type)
     """
     c_p_t = disambiguate_ra_type(value)
     if not ra_type_validate(value, *c_p_t):
         return None
     return c_p_t
Beispiel #5
0
def cli_parse_rsctype(s, pl):
    '''
    Parse the resource type.
    '''
    ra_class,provider,rsc_type = disambiguate_ra_type(s)
    if not ra_type_validate(s,ra_class,provider,rsc_type):
        return None
    pl.append(["class",ra_class])
    if ra_class == "ocf":
        pl.append(["provider",provider])
    pl.append(["type",rsc_type])
Beispiel #6
0
def cli_parse_rsctype(s, pl):
    '''
    Parse the resource type.
    '''
    ra_class, provider, rsc_type = disambiguate_ra_type(s)
    if not ra_type_validate(s, ra_class, provider, rsc_type):
        return None
    pl.append(["class", ra_class])
    if ra_class == "ocf":
        pl.append(["provider", provider])
    pl.append(["type", rsc_type])
Beispiel #7
0
 def do_info(self, context, *args):
     "usage: info [<class>:[<provider>:]]<type>"
     if len(args) == 0:
         context.fatal_error("Expected [<class>:[<provider>:]]<type>")
     elif len(args) > 1:  # obsolete syntax
         if len(args) < 3:
             ra_type, ra_class, ra_provider = args[0], args[1], "heartbeat"
         else:
             ra_type, ra_class, ra_provider = args[0], args[1], args[2]
     elif args[0] in constants.meta_progs:
         ra_class, ra_provider, ra_type = args[0], None, None
     else:
         ra_class, ra_provider, ra_type = ra.disambiguate_ra_type(args[0])
     agent = ra.RAInfo(ra_class, ra_type, ra_provider)
     if agent.mk_ra_node() is None:
         return False
     try:
         utils.page_string(agent.meta_pretty())
     except Exception, msg:
         context.fatal_error(msg)