Skip to content
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

I don't think this works on Ubuntu 12.04. #302

Open
kwolf-zz opened this issue May 3, 2016 · 4 comments
Open

I don't think this works on Ubuntu 12.04. #302

kwolf-zz opened this issue May 3, 2016 · 4 comments

Comments

@kwolf-zz
Copy link
Contributor

kwolf-zz commented May 3, 2016

We're running Puppetmasters on Ubuntu 12.04 and they happen to be mcollective clients as well. This module is setting the heartbeat option:

plugin.activemq.heartbeat_interval = 30

Which doesn't seem to be working with the version of the ruby-stomp package that's distributed.

mco find

The find application failed to run, use -v for full error backtrace details: Could not connect to ActiveMQ Server: Setting STOMP 1.1 properties like heartbeat intervals require at least version 1.2.10 of the STOMP gem

ruby-stomp

aptitude show ruby-stomp
Package: ruby-stomp                      
State: installed
Automatically installed: no
Version: 1.2.2-1
Priority: extra
Section: misc
Maintainer: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers@lists.alioth.debian.org>
Architecture: all
Uncompressed Size: 287 k
Depends: ruby | ruby-interpreter
Breaks: libstomp-ruby (< 1.1.9-1~), libstomp-ruby (< 1.1.9-1~), libstomp-ruby-doc (< 1.1.9-1~), libstomp-ruby-doc (< 1.1.9-1~),
        libstomp-ruby1.8 (< 1.1.9-1~), libstomp-ruby1.8 (< 1.1.9-1~), libstomp-ruby1.9.1 (< 1.1.9-1~), libstomp-ruby1.9.1 (< 1.1.9-1~)
Replaces: libstomp-ruby (< 1.1.9-1~), libstomp-ruby (< 1.1.9-1~), libstomp-ruby-doc (< 1.1.9-1~), libstomp-ruby-doc (< 1.1.9-1~),
          libstomp-ruby1.8 (< 1.1.9-1~), libstomp-ruby1.8 (< 1.1.9-1~), libstomp-ruby1.9.1 (< 1.1.9-1~), libstomp-ruby1.9.1 (< 1.1.9-1~)
Provides: libstomp-ruby, libstomp-ruby-doc, libstomp-ruby1.8, libstomp-ruby1.9.1
Description: Ruby client for the stomp messaging protocol
 Stomp is a text-oriented wire protocol for messaging (MOM/MQ/JMS) type systems. This library provides two useful interfaces, a low- level
 class, Stomp::Connection, which is a basic protocol implementation, and Stomp::Client, which is designed as a higher level convenience
 API.
Homepage: https://github.com/morellon/stomp

It seems that the mcollecitive package and plugins depend on this package. We have v1.3.5 of the stomp gem installed, but that's not what mco appears to be using.

There's currently no way in the module to suppress the heartbeat option.

@bastelfreak
Copy link
Member

hi,
Why do you think this doesn't work? have you tested it and could provide any error messages?

@kwolf-zz
Copy link
Contributor Author

kwolf-zz commented May 3, 2016

I hit enter and posted a blank body. It's been updated. My bad.

@luksi1
Copy link

luksi1 commented Sep 27, 2016

I can second this. The MCollective server, client will not work on Ubuntu 12.04 with SSL activated.

E, [2016-09-27T13:28:42.487939 #26654] ERROR -- : activemq.rb:377:inssl_parameters' Failed to set full SSL verified mode: RuntimeError: Stomp gem >= 1.2.2 is needed
E, [2016-09-27T13:28:42.488112 #26654] ERROR -- : runner.rb:107:in main_loop' A failure occurred in the MCollective runner. E, [2016-09-27T13:28:42.488282 #26654] ERROR -- : runner.rb:108:inmain_loop' Could not connect to ActiveMQ Server: Stomp gem >= 1.2.2 is needed
E, [2016-09-27T13:28:42.488358 #26654] ERROR -- : runner.rb:109:in main_loop' /usr/lib/ruby/vendor_ruby/mcollective/connector/activemq.rb:301:inconnect'
/usr/lib/ruby/vendor_ruby/mcollective/runner.rb:164:in receiver_thread' /usr/lib/ruby/vendor_ruby/mcollective/runner.rb:142:instart_receiver_thread'
/usr/lib/ruby/vendor_ruby/mcollective/runner.rb:140:in initialize' /usr/lib/ruby/vendor_ruby/mcollective/runner.rb:140:innew'
/usr/lib/ruby/vendor_ruby/mcollective/runner.rb:140:in start_receiver_thread' /usr/lib/ruby/vendor_ruby/mcollective/runner.rb:71:inmain_loop'
/usr/lib/ruby/vendor_ruby/mcollective/unix_daemon.rb:60:in daemonize_runner' /usr/lib/ruby/vendor_ruby/mcollective/unix_daemon.rb:13:indaemonize'
/usr/lib/ruby/vendor_ruby/mcollective/unix_daemon.rb:5:in fork' /usr/lib/ruby/vendor_ruby/mcollective/unix_daemon.rb:5:indaemonize'
/usr/lib/ruby/vendor_ruby/mcollective/unix_daemon.rb:20:in daemonize_runner' /usr/sbin/mcollectived:74

You'll need to upgrade ruby-stomp to get this to work. What about a check on the ruby-stomp version if SSL is enabled?

@antaflos
Copy link
Contributor

The ruby-stomp problem has been around for a while. I remember opening issue https://tickets.puppetlabs.com/browse/MODULES-459 and sending PR #121 to allow specifying the ruby-stomp version. We usually set it to "latest".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants