Re: [ClusterLabs] Antw: Need bash instead of /bin/sh

2015-09-23 Thread dan
ons 2015-09-23 klockan 16:24 +0300 skrev Vladislav Bogdanov:
> 23.09.2015 15:42, dan wrote:
> > ons 2015-09-23 klockan 14:08 +0200 skrev Ulrich Windl:
> > dan  schrieb am 23.09.2015 um 13:39 in 
> > Nachricht
> >> <1443008370.2386.8.ca...@intraphone.com>:
> >>> Hi
> >>>
> >>> As I had problem with corosync 2.3.3 and pacemaker 1.1.10 which was
> >>> default in my version of ubuntu, I have now compiled and installed
> >>> corosync 2.3.4 and pacemaker 1.1.12.
> >>>
> >>> And now it works.
> >>>
> >>> Though the file /usr/lib/ocf/resource.d/pacemaker/controld
> >>> does not work as /bin/sh is linked to dash on ubuntu (and I think
> >>> several other Linux variants).
> >>>
> >>> It is line 182:
> >>>  local addr_list=$(cat
> >>> /sys/kernel/config/dlm/cluster/comms/*/addr_list 2>/dev/null)
> >>
> >> That looks like plain POSIX shell to me. What part is causing the problem?
> >
> > Did a small test:
> > ---test.sh
> > controld_start() {
> >  local addr_list=$(echo AF_INET 10.1.1.1 AF_INET 10.1.1.2)
> yep, that is a bashism.
> 
> posix shell denies assignment of local variables in the declaration.
> 
> local addr_list; addr_list=$(echo AF_INET 10.1.1.1 AF_INET 10.1.1.2)
> 
> should work


I tested that too. And it also works.


> 
> >  echo $addr_list
> > }
> >
> > controld_start
> > --
> >
> > dash test.sh
> > test.sh: 2: local: 10.1.1.1: bad variable name
> >
> > bash test.sh
> > AF_INET 10.1.1.1 AF_INET 10.1.1.2
> >
> >
> >  Dan
> >
> >
> > ___
> > Users mailing list: Users@clusterlabs.org
> > http://clusterlabs.org/mailman/listinfo/users
> >
> > Project Home: http://www.clusterlabs.org
> > Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> > Bugs: http://bugs.clusterlabs.org
> >
> 
> 
> ___
> Users mailing list: Users@clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/users
> 
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org



___
Users mailing list: Users@clusterlabs.org
http://clusterlabs.org/mailman/listinfo/users

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org


Re: [ClusterLabs] Antw: Need bash instead of /bin/sh

2015-09-23 Thread Vladislav Bogdanov

23.09.2015 15:42, dan wrote:

ons 2015-09-23 klockan 14:08 +0200 skrev Ulrich Windl:

dan  schrieb am 23.09.2015 um 13:39 in Nachricht

<1443008370.2386.8.ca...@intraphone.com>:

Hi

As I had problem with corosync 2.3.3 and pacemaker 1.1.10 which was
default in my version of ubuntu, I have now compiled and installed
corosync 2.3.4 and pacemaker 1.1.12.

And now it works.

Though the file /usr/lib/ocf/resource.d/pacemaker/controld
does not work as /bin/sh is linked to dash on ubuntu (and I think
several other Linux variants).

It is line 182:
 local addr_list=$(cat
/sys/kernel/config/dlm/cluster/comms/*/addr_list 2>/dev/null)


That looks like plain POSIX shell to me. What part is causing the problem?


Did a small test:
---test.sh
controld_start() {
 local addr_list=$(echo AF_INET 10.1.1.1 AF_INET 10.1.1.2)

yep, that is a bashism.

posix shell denies assignment of local variables in the declaration.

local addr_list; addr_list=$(echo AF_INET 10.1.1.1 AF_INET 10.1.1.2)

should work


 echo $addr_list
}

controld_start
--

dash test.sh
test.sh: 2: local: 10.1.1.1: bad variable name

bash test.sh
AF_INET 10.1.1.1 AF_INET 10.1.1.2


 Dan


___
Users mailing list: Users@clusterlabs.org
http://clusterlabs.org/mailman/listinfo/users

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org




___
Users mailing list: Users@clusterlabs.org
http://clusterlabs.org/mailman/listinfo/users

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org


Re: [ClusterLabs] Antw: Need bash instead of /bin/sh

2015-09-23 Thread dan
ons 2015-09-23 klockan 14:08 +0200 skrev Ulrich Windl:
> >>> dan  schrieb am 23.09.2015 um 13:39 in 
> >>> Nachricht
> <1443008370.2386.8.ca...@intraphone.com>:
> > Hi
> > 
> > As I had problem with corosync 2.3.3 and pacemaker 1.1.10 which was
> > default in my version of ubuntu, I have now compiled and installed
> > corosync 2.3.4 and pacemaker 1.1.12.
> > 
> > And now it works.
> > 
> > Though the file /usr/lib/ocf/resource.d/pacemaker/controld
> > does not work as /bin/sh is linked to dash on ubuntu (and I think
> > several other Linux variants).
> > 
> > It is line 182:
> > local addr_list=$(cat 
> > /sys/kernel/config/dlm/cluster/comms/*/addr_list 2>/dev/null)
> 
> That looks like plain POSIX shell to me. What part is causing the problem?

Did a small test:
---test.sh
controld_start() {
local addr_list=$(echo AF_INET 10.1.1.1 AF_INET 10.1.1.2)
echo $addr_list
}

controld_start
--

dash test.sh
test.sh: 2: local: 10.1.1.1: bad variable name

bash test.sh
AF_INET 10.1.1.1 AF_INET 10.1.1.2


Dan


___
Users mailing list: Users@clusterlabs.org
http://clusterlabs.org/mailman/listinfo/users

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://bugs.clusterlabs.org