Opinions on CLI tools.
Brad Bishop
bradleyb at fuzziesquirrel.com
Wed Nov 2 00:30:43 AEDT 2016
If there is value add in these tools, lets get those enhancements in the
associated upstream projects. I agree with the segmentation and mind-share
kool-aid.
That said, the beauty of Yocto is layers, and if someone felt strongly about it,
this could be added as-is to a meta-<machine> or meta-<company> layer. Then
the segmentation and mindshare loss would at least be confined to that particular
layer.
-brad
> On Oct 31, 2016, at 11:00 AM, Patrick Williams <patrick at stwcx.xyz> wrote:
>
> I decided we should solicit broader feedback before I merge this commit:
> https://gerrit.openbmc-project.xyz/#/c/900/2
>
> Xo proposed adding a CLI tool, that appears to have been written and
> maintained by someone at Google, and effectively is a wrapper around a
> number of device driver calls. Some of the facilities provided by this
> tool would also be provided by "upstream" tools like i2c-tools or pdbg.
>
> Last week the IBM team had a small discussion on strategies for CLI
> tools. In our legacy product, developers tended to make many many CLI
> tools with little oversight and standards and these tools ended up
> slipping into various "bring up", "debug" and "manufacturing" scripts,
> effectively becoming "requirements". For OpenBMC, we had proposed
> landing on the other extreme of this, which is to say we should never
> have a CLI tool as a wrapper around an existing tool or to replace
> existing upstream functionality. (We did have one small tool we
> discussed which was to facilitate easier interaction with the DBus
> interfaces, since otherwise would require a few invocations of 'busctl')
>
> One of our (my) concerns about wrappers is that we end up segmenting our
> own community from the broader Linux ecosystem. Having available and
> documenting broader tools like 'i2c-tools', 'systemctl', 'journalctl'
> gives us larger mind-share with individuals outside OpenBMC that are
> already familiar with those tools.
>
> A key example we discussed was:
> obmcutil power-on
> vs
> systemctl start host0-power-on.target
>
> The first is certainly "easier" for those that are totally newcomers.
> The second is only slightly more difficult but gives insight into how
> our state-management works. With the second if someone already has
> knowledge in systemd, from their own Linux experience, that allows them
> to more likely probe into "what else is exposed via systemd targets?"
> rather than just expecting everything to be documented with 'obmcutil
> --help'.
>
> With this proposed iotools package I think we have 3 options:
>
> 1. Allow it in, as is, in the debugtools image. Even though it does
> replicate / wrap some tools, it does provide new abstractions on others.
>
> 2. Add it to a .bbappend in only the meta-zaius tree.
>
> 3. Patch the makefile (and discuss with upstream) to disable
> functionality that is already implemented by other, more widely used,
> tools like i2c-tools.
>
> --
> Patrick Williams
> _______________________________________________
> openbmc mailing list
> openbmc at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/openbmc
More information about the openbmc
mailing list