-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plugins do not yet support ruby 2.4 and therefore breaks on sensu 0.29 #3
Comments
Ran into this same issue. Had to version lock to sensu-0.28.5-2.el7 for now. |
I'm finding a similar issue with embedded ruby on the mailer handler. Has anyone on the dev team looked into this? {"timestamp":"2017-05-01T04:33:52.745000+0000","level":"error","message":"handler output","handler":{"command":"/opt/sensu/embedded/bin/handler-mailer.rb","type":"pipe","name":"default"},"event":{"id":"42aa4101-71fc-461a-a51b-501230ba1e9a"},"output":["/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems.rb:270:in |
having the same problem here, cannot use this plugin with sensu 0.29 |
Sorry for the issues, I am not a maintainer on the sensu project itself though I have seen several plugins run into issues with 0.29 for now I will add testing for ruby 2.4 independently of troubleshooting any omnibus issues. |
I tried real quick to get the mysql2 gem installed in ruby 2.4 locally (outside of the context of sensu and this gem) but ran into issues. I see there are upstream issues. so unfortunately I can only recommend pinning sensu until this is resolved. |
the issue needs to be fixed upstream: brianmario/mysql2#835 |
@majormoses I'm still waiting on a reply in brianmario/mysql2#835 to continue helping sort out the problem. I am able to use Ruby 2.4 just fine, I am not sure what's going on with your installation. You all should definitely drop the |
@sodabrew I have now seen this having being debated before and have challenged other maintainers on this. Switching from
The Pros:
Cons:
My overall opinion is that we need to do it for several reasons:
However we can not do this until 2.4 is working, all the plugins support 2.4, and make sure that we give the community to voice their opinions. We have to give everyone an upgrade path even if it requires breaking changes. If someone were to revive the project I would feel very differently about this. |
@sensu-plugins/commit-bit here we go again... |
I tried some testing again and I was able to successfully able to get it to install on 2.4.1 and we need to test and make sure it actually works in sensu but I am more supportive of this now. |
Thanks for the links, I will catch up on the discussion and see if there's anything useful I can add. Oh, I see, you're not using the To be honest, I was unaware of this work until just now: https://github.com/tmtm/ruby-mysql It's rather impressive! I'm going to update this comparison section to mention it: https://github.com/brianmario/mysql2#benchmarks-and-comparison |
To be clear on the "here we go again..." @majormoses, I take it we're talking about upgrade to 0.29 causing challenges bc of ruby 2.4? If so, I'm with you there ✊ |
@mbbroberg technically its here we go again is on 2 fronts:
|
Any updates on this? |
is this still a problem installing? From my tests it should install just fine. EDIT: yes it is, the tests failed in the PR that was linked and I didnt realize that. |
I'd suggest we try loosening the deps on mysql2 and see where that goes. I am not sure but I seem to recall that they did fix it in a newer version. |
It looks like I am able to get it to install removing mysql but keeping mysql2. As that is a pretty massive change we probably want to do some testing to make sure it does not break all the things. @sodabrew anything specific I should look for in testing that are more likely to break? |
I have submitted a PR that we can look at and do some testing to see how much if anything it breaks. |
It installs with my change but we need to asses the breakage of this change before figuring out whether it is a breaking change or not. |
@xblitz if you can provide me with some gists of the checks with input and output I will feel more comfortable merging this. Otherwise I am gonna have to setup a percona cluster and do some testing. |
I took a closer look its a bit more work than I thought but I think I might have the time this weekend to take a crack at this. |
@xblitz I have converted everything over to |
My main advice to the community is that you'll have a new and different set of support issues with the If Sensu builds and provides its own packages and its own corresponding MySQL client packages, you can pretty well sidestep the issue for most users! |
@sodabrew Good points. We have the same issue with the postgresql plugin. As I see it the options are 1) install the client into the embedded sensu or 2) install the client using a system package and link against that. or 3) install separate ruby and mysql from source or other packages and install the plugin into that ruby. Shipping a mysql client with sensu (or perhaps as an add-on package) would certainly sidestep a lot of the issues though I'd be concerned about the maintainability of that. Now sensu has to track upstream versions and pull in security updates, etc. We should add a note to the README with the recommended approach if/when installation issues are encountered. |
The MySQL Connector/C and MariaDB Connector/C are great alternatives, and have a far lower rate of updates. The vast majority of MySQL security patches apply to the server and not to the client code. |
It seems to work with the proposed changes, of course I already had the mysql client installed on the machine. |
After upgrading sensu to 0.29 this plugin doesn't build properly.
The error I see from the check is this:
If I try to install the plugin this is what I get:
And looking online this seems to be the cause:
The mysql gem is one of many gems which doesn't like the unification of the integer types in Ruby 2.4.
Reference: http://stackoverflow.com/questions/41520996/mysql-gem-install-error-on-ruby-2-4
P.S. I do have libmysqlclient-dev installed.
The text was updated successfully, but these errors were encountered: