Great stuff, but it doesn't appear to have been touched in a long time. On Ubuntu, if you follow the path, you'll wind up broken. Here are some intrusive fixes.
The CTDB scripts expect to find the "service" binary in /sbin. Ubuntu 12.04 has it in /usr/sbin. Provide a symbolic link:
ln -s /usr/sbin/service /sbin/service
The CTDB event script 50.samba "correctly" identifies the system as a Debian one, but Samba here runs as two scripts: smbd and nmbd. Fix the 50.samba script at the top where the switch gives us variables and what they should be.
debian)
CTDB_SERVICE_SMB=${CTDB_SERVICE_SMB:-smbd}
CTDB_SERVICE_NMB=${CTDB_SERVICE_NMB:-nmbd}
CTDB_SERVICE_WINBIND=${CTDB_SERVICE_WINBIND:-winbind}
That will get this resource working "correctly:"
primitive p_ctdb ocf:heartbeat:CTDB \
params ctdb_recovery_lock="/opt/samba0/samba/ctdb.lock" ctdb_manages_samba="yes" ctdb_manages_winbind="yes" ctdb_start_as_disabled="yes" \
op monitor interval="10" timeout="20" \
op start interval="0" timeout="90" \
op stop interval="0" timeout="100"
Of course, make sure to install winbind along with Samba3 before executing. Watch this command:
ctdb --socket=/var/lib/ctdb/ctdb.socket status
and the log file in /var/log/ctdb/log.ctdb while trying to start resource in case you have further problems. I went with the special cluster IP resource, per the tutorial link at the top, so I expect that the DISABLED status of CTDB is normal; I hope I am right. Other than making sure Samba actually starts, I've not connected any clients to it yet. But without the above, Samba will not start. Also, I did not find any useful resource agents for running Samba itself from Pacemaker, and attempting to use the LSB appears to break. I wonder if it breaks for the same reason that the 50.samba script can't use it? (50.samba calls the /etc/init.d/smbd script when it can't find /sbin/service, but it for whatever reason fail to function correctly - smbd never starts. Invoking smbd via service appears to work fine.)
NB. For the record, I did find one ocf script that was written for Samba on Gentoo. It looked promising, but I didn't feel like trying to port it over to Ubuntu 12.04.