On Tue, Apr 23, 2013 at 04:44:19PM +0200, Dejan Muhamedagic wrote:
> Hi Junko-san,
> 
> Can you try the attached patch, instead of this one?

Any news? Was the patch any good?

Cheers,

Dejan

> Cheers,
> 
> Dejan
> 
> On Wed, Apr 10, 2013 at 06:13:45PM +0900, Junko IKEDA wrote:
> > Hi,
> > I set upper-case hostname (GUEST03/GUEST4) and run Pacemaker 1.1.9 +
> > Corosync 2.3.0.
> > 
> > [root@GUEST04 ~]# crm_mon -1
> > Last updated: Wed Apr 10 15:12:48 2013
> > Last change: Wed Apr 10 14:02:36 2013 via crmd on GUEST04
> > Stack: corosync
> > Current DC: GUEST04 (3232242817) - partition with quorum
> > Version: 1.1.9-e8caee8
> > 2 Nodes configured, unknown expected votes
> > 1 Resources configured.
> > 
> > 
> > Online: [ GUEST03 GUEST04 ]
> > 
> >  dummy  (ocf::pacemaker:Dummy): Started GUEST03
> > 
> > 
> > for example, call crm shell with lower-case hostname.
> > 
> > [root@GUEST04 ~]# crm node standby guest03
> > ERROR: bad lifetime: guest03
> > 
> > "crm node standby GUEST03" surely works well,
> > so crm shell just doesn't take into account the hostname conversion.
> > It's better to accept the both of the upper/lower-case.
> > 
> > "node standby", "node delete", "resource migrate(move)"  get hit with this
> > issue.
> > Please see the attached.
> > 
> > Thanks,
> > Junko
> 
> 
> > _______________________________________________________
> > Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
> > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> > Home Page: http://linux-ha.org/
> 

> # HG changeset patch
> # User Dejan Muhamedagic <de...@hello-penguin.com>
> # Date 1366728211 -7200
> # Node ID cd4d36b347c17b06b76f3386c041947a03c708bb
> # Parent  4a47465b1fe1f48123080b4336f0b4516d9264f6
> Medium: node: ignore case when looking up nodes (thanks to Junko Ikeda)
> 
> diff -r 4a47465b1fe1 -r cd4d36b347c1 modules/ui.py.in
> --- a/modules/ui.py.in        Tue Apr 23 11:23:10 2013 +0200
> +++ b/modules/ui.py.in        Tue Apr 23 16:43:31 2013 +0200
> @@ -924,7 +924,7 @@ class RscMgmt(UserInterface):
>          lifetime = None
>          opt_l = fetch_opts(argl, ["force"])
>          if len(argl) == 1:
> -            if not argl[0] in listnodes():
> +            if not is_node(argl[0]):
>                  lifetime = argl[0]
>              else:
>                  node = argl[0]
> @@ -1186,7 +1186,7 @@ class NodeMgmt(UserInterface):
>          if not args:
>              node = vars.this_node
>          if len(args) == 1:
> -            if not args[0] in listnodes():
> +            if not is_node(args[0]):
>                  node = vars.this_node
>                  lifetime = args[0]
>              else:
> @@ -1249,7 +1249,7 @@ class NodeMgmt(UserInterface):
>          'usage: delete <node>'
>          if not is_name_sane(node):
>              return False
> -        if not node in listnodes():
> +        if not is_node(node):
>              common_err("node %s not found in the CIB" % node)
>              return False
>          rc = True
> diff -r 4a47465b1fe1 -r cd4d36b347c1 modules/xmlutil.py
> --- a/modules/xmlutil.py      Tue Apr 23 11:23:10 2013 +0200
> +++ b/modules/xmlutil.py      Tue Apr 23 16:43:31 2013 +0200
> @@ -159,6 +159,15 @@ def mk_rsc_type(n):
>      if ra_provider:
>          s2 = "%s:"%ra_provider
>      return ''.join((s1,s2,ra_type))
> +def is_node(s):
> +    '''
> +    Check if s is in a list of our nodes (ignore case).
> +    This is not fast, perhaps should be cached.
> +    '''
> +    for n in listnodes():
> +        if n.lower() == s.lower():
> +            return True
> +    return False
>  def listnodes():
>      nodes_elem = cibdump2elem("nodes")
>      if nodes_elem is None:

> _______________________________________________________
> Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
> http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> Home Page: http://linux-ha.org/

_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to