Bug 224100 - net-mgmt/crmsh: This package needs better documentation about available functionality on FreeBSD
Summary: net-mgmt/crmsh: This package needs better documentation about available funct...
Status: Closed Feedback Timeout
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-ports-bugs (Nobody)
Keywords: needs-patch
Depends on:
Reported: 2017-12-04 23:25 UTC by Alberto Mijares
Modified: 2018-11-29 13:02 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (dpejesh)


Note You need to log in before you can comment on or make changes to this bug.
Description Alberto Mijares 2017-12-04 23:25:29 UTC
The package installs flawlessly. However, when you run it for initializing a Pacemaker/Corosync cluster, it fails by not finding linux-specific things like /proc/version, /sbin/ip, etc. I don't see the point in having an application packaged and not properly ported to FreeBSD. It needs a lot of patches before being useful at all.

I suggest to remove it from packages and ports collection until the due patching is done.
Comment 1 David Shane Holden 2017-12-05 15:40:44 UTC
I think the problem you're having is not with crmsh but with the resource agents which you're trying to use.  That's where the Linuxisms are located since they're glorified rc scripts.  When I created the net-mgmt/resource-agents port it was because I wanted the zabbixserver RA which I've been using successfully for a couple of years now.  As far as the other 100 or so RAs are concerned nearly all of them will need testing, patching, or alternates created specifically for FreeBSD.  Depending on which ones you're trying to use the changes to support FreeBSD might be trivial.  The reason they're all installed and not just the ones I know to work on FreeBSD is because there's ~100 of them (of which I only use a couple) and some are very specific to software I've never used, so for all I know they could work just fine.  I agree that the cluster suite could use more testing, but the sad truth is there's not many people who venture into using corosync/pacemaker and far fewer who try to do it on FreeBSD.  You're quite possibly only the second person to actually try to use these ports besides me in the 1.5+ years since I submitted the patches to get them added to the ports tree.  If you decide to delve further into tracking down bugs and submitting patches I'd be more than willing to assist and I've had good experiences upstreaming patches for FreeBSD support to the libqb/corosync/pacemaker repositories.

The claim that crmsh is completely broken isn't true though.  Some of the subcommands might not work for one reason or another and those should definitely be reported as bugs but the tool itself is in a working state.

Here's an example of my 2-node zabbix server cluster.

# crm status
Stack: corosync
Current DC: col1002.mon.corp.fl1 (version 1.1.18-2b07d5c5a9) - partition with quorum
Last updated: Tue Dec  5 14:17:05 2017
Last change: Tue Dec  5 14:16:01 2017 by hacluster via crmd on col1002.mon.corp.fl1

2 nodes configured
3 resources configured

Online: [ col1001.mon.corp.fl1 col1002.mon.corp.fl1 ]

Full list of resources:

 zabbixserver   (ocf::heartbeat:zabbixserver):  Started col1001.mon.corp.fl1
 Clone Set: cloneSysinfo [sysinfo]
     Started: [ col1001.mon.corp.fl1 col1002.mon.corp.fl1 ]

# crm configure show
node 1: col1001.mon.corp.fl1
node 2: col1002.mon.corp.fl1
primitive sysinfo ocf:pacemaker:SysInfo \
        op monitor interval=20s
primitive zabbixserver zabbixserver \
        params binary="/usr/local/sbin/zabbix_server" pid="/var/run/zabbix/zabbix_server.pid" config="/usr/local/etc/zabbix32/zabbix_server.conf" \
        op monitor interval=60s timeout=45s \
        op start interval=0 timeout=60s \
        op stop interval=0 timeout=300s \
        meta target-role=Started
clone cloneSysinfo sysinfo \
        meta target-role=Started
location cli-prefer-zabbixserver zabbixserver role=Started inf: col1001.mon.corp.fl1
property cib-bootstrap-options: \
        have-watchdog=false \
        dc-version=1.1.18-2b07d5c5a9 \
        cluster-infrastructure=corosync \
        stonith-enabled=false \
Comment 2 Alberto Mijares 2017-12-06 23:06:33 UTC
(In reply to David Shane Holden from comment #1)
I didn't get it to the RA part, the very first step fails (crm cluster init). So, since the limitations are not documented, it gives the impression to not be functional. 
Maybe not much people use those packages; however, more will come and they will have the same impression: a broken package in official repos.

Can you please document what is working and what is not, use cases, limitations, etc? I take back my statement about the package being fully broken but it needs better documentation. I'm sure you'll agreed.