Cannot load such file -- sensu-plugin/check/cli

this is from the thorko/sensu-plugins-ceph asset. Any help is appreciated

/var/cache/sensu/sensu-agent/a28952fd93fc63db1f8988c7bc40b0ad815eb9f35ef7317d6caf5d77ecfbfd824a9db54184400aa0c81c29b34cb48c7e8c6e3f17891aaf84cafa3c134266a61a/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- sensu-plugin/check/cli (LoadError)
	from /var/cache/sensu/sensu-agent/a28952fd93fc63db1f8988c7bc40b0ad815eb9f35ef7317d6caf5d77ecfbfd824a9db54184400aa0c81c29b34cb48c7e8c6e3f17891aaf84cafa3c134266a61a/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /var/cache/sensu/sensu-agent/fe3b4702e2383cdb5beb4470b4f139f854dc26167751da6a6a65331d72fb0ab2adc5d580499ac8cfdacd8e2b48781523d212542746768afda34abb6cd4112d90/bin/check-ceph.rb:41:in `<main>'

Looking over how that’s been forked and the assets packaged, I’m not entirely convinced that it’s been done in a way that would allow the ruby asset to function properly. Unfortunately, I can’t commit to any sort of testing of this plugin this week as I’m swamped–maybe @jspaleta or @todd might have some time to review and/or build it and see what they get.

Indeed, looking at the github fork… I don’t see any automation to indicate how the asset was bult. You’ll need to communicate with thorko.

Most likely thorko is making use of this asset against an environment that already has the sensu-plugins gem installed and it works for him.

Thorko might want to mark his asset as private in bonsai so it doesnt show up in searches.

So this brings up a a couple of important points…

First,
Building widely re-usable assets using interpreted languages like ruby (or perl) takes a bit of care. Very easy to build, and use for yourself, if you control the environment you plan to install them on, but more difficult to ensure they work for other people.

Statically compiled golang are much easier to build and share, because the static compile takes away so much complexity.

thorko is most likely building assets that ‘workforme’ and trying to be helpful and sharing them without realizing they don’t work for others.

Second,
Bonsai allows people to share assets without a lot of overhead…using their own namespace. But the namespacing does not ensure quality. Very much like forks in github, some forks are not going to be generally usable as they solve a specific problem for the person who forked it… we’ll have assets like that in Bonsai.

Part of the idea is some account namespaces will earn a reputation for being reliable and become trusted sources for other people and others (like my namespace) will earn a reputation for being bleeding edge spaces.

What ‘we’ need to figure out is how to extend the Bonsai interface to make it easier for users to add reputation/quality feedback to impact searches.

Third,
Right now we just don’t have enough manpower in the sensu-plugins org to get the high quality versions of the assets out as fast as everyone would like. There’s just a lot of work to do.