Well, I found the problem. The initdb command was failing with this error:
runuser: cannot set groups: Operation not permitted
So, the folder was created but not the default database. When I commented out user & group, the command worked on both Rhel 5 & 6. Is this a bug?
exec { 'postgresql_initdb':
command => $initdb_command,
creates => "${datadir}/PG_VERSION",
#user => $user,
#group => $group,
logoutput => true,
#logoutput => on_failure,
require => File[$datadir],
}
Hope it helps someone else.