Re: MegaCLI port is ports-only -- how would you deploy it?

From: Doug Ambrisko <ambrisko_at_ambrisko.com>
Date: Mon, 08 Aug 2022 19:57:53 UTC
On Thu, Aug 04, 2022 at 05:22:29PM +0300, Ruslan Makhmatkhanov wrote:
|    03.08.2022, 02:07, "Dan Mahoney" <freebsd@gushi.org>:
|      Hey there all,
|      At the dayjob we have a fleet of Dell Poweredge servers that can use
|      either mptsas or mrsas -- if you use mptsas, you use mptutil (in
|      base) to check the state of the card.
|      If you use mrsas, you need megacli, which is only in ports, and the
|      port hasn't translated to pkg probably because of license
|      restrictions. ( _LICENSE_RESTRICTED = delete-package
|      delete-distfiles), but the license listed is just "megacli".
|      * We want to deploy a cron job to periodically check the raid status
|      (we're writing a wrapper, also having it check mfiutil, zpool, etc).
|      * We do not want to install and manage a whole ports tree on every
|      machine in our fleet, just to install a raid utlity.
|      Option A:
|      Make a local package somehow.
|      The port just downloads a static binary, there's nothing to build
|      here, but we want to do this the "right" way. Is there some way to
|      have pkg deploy a single local package for this that will, for
|      example, report the right package ownership, without moving every
|      other package to our poudriere install (we're just using base
|      packages, we keep poudriere around for testing in case we need to
|      hot-patch something).
|      For what it's worth, we use puppet for config management, so pushing
|      out the static binary is not the worst answer, but it also feels
|      "dirty".
|      Option B:
|      Figure out how to fix the license. I have no idea what this would
|      involve.
|      Option C:
|      Also, apparently MegaCLI is no longer maintained (replaced by
|      StorCLI), but there's no port for StorCLI, and...there are multiple
|      raid-card specific versions? Jeez.
|      Feels even more dirty.
|      [1]https://support.siliconmechanics.com/portal/en/kb/articles/storcl
|      i-for-freebsd-and-other-operating-systems
|      Ideas welcome?
|      -Dan Mahoney

Although the path to get to StorCli goes through various cards the
latest greatest seem to work on all earlier cards.  It works on
HBAs and not just RAID cards.  At work I did a Linux/FreeBSD
POC for FW management and found the FreeBSD version could flash the HBA
and drive FW.  I've moved to StorCli from MegaCli.  I would suggest
we drop the MegaCli port and move to StorCli.

I have code to make mfiutil into mrsasutil and added the MFI ioctl
handler to mrsas.  I'm not sure how much value that has.  I don't
deal with supporting FreeBSD and RAID much anymore.  If interested
I could send patches.
 
|    Since sysutils/megacli:
|    - has no dependencies
|    - has nothing to build
|    - only carries single binary
|    - updates are not supposed to happen in future
| 
|    it may worth to just do `make package` once (manually or with puppet
|    recipe) on some dedicated system and then deploy it with puppet
|    directly. poudriere is overkill for this task imho.

Doug A.