Re: [ClusterLabs] Antw: Need bash instead of /bin/sh
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
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
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