Inconsistent MCollective plugins across platforms?

50 views
Skip to first unread message

Peter Kristolaitis

unread,
Jul 4, 2016, 2:33:00 PM7/4/16
to puppet...@googlegroups.com
We're in the midst of upgrading from Puppet 3.8 to the latest PC1 release, and I've found what seems to be inconsistent package behavior with MCollective plugins.

Background:  We have historically used 'mco puppet' and 'mco rpc puppet' to orchestrate multi-node application deployments.  We do basic system configuration using scheduled agent runs, but some resources are tagged such that they only run during our orchestrated deploys.  We run a mix of Windows and Linux (mostly Ubuntu, but recently we've had to support CentOS as well).

Getting the 'mco puppet' command is normally done by installing the mcollective-puppet-(agent|client) package.    On CentOS, this works fine:

[root@pr01cw-sql01ny ~]# rpm -qa | grep puppetlabs-release
puppetlabs-release-pc1-1.0.0-2.el6.noarch
puppetlabs-release-6-12.noarch

[root@pr01cw-sql01ny ~]# yum install mcollective-puppet-agent

Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirror.trouble-free.net
 * extras: repo1.ash.innoscale.net
 * updates: mirror.solarvps.com
Resolving Dependencies
--> Running transaction check
---> Package mcollective-puppet-agent.noarch 0:1.11.0-1.el6 will be installed
--> Finished Dependency Resolution
...(snip)...
  Installing : mcollective-puppet-agent-1.11.0-1.el6.noarch                                                                                                       1/1
  Verifying  : mcollective-puppet-agent-1.11.0-1.el6.noarch                                                                                                       1/1

Installed:
  mcollective-puppet-agent.noarch 0:1.11.0-1.el6                                                                                                                     

Complete!


However, on Ubuntu:

root@pr00fc-pup01va:~# dpkg -l | grep puppetlabs-release
ii  puppetlabs-release               1.0-12                             all          "Package to install Puppet Labs gpg key and apt repo"
ii  puppetlabs-release-pc1           1.0.0-2trusty                      all          Release packages for the Puppet Labs PC1 repository

root@pr00fc-pup01va:~# aptitude install mcollective-puppet-client
The following NEW packages will be installed:
  libruby1.9.1{a} mcollective-common{a} mcollective-puppet-client mcollective-puppet-common{a} ruby{a} ruby-json{a} ruby-stomp{a} ruby1.9.1{a}
0 packages upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 240 kB/2,926 kB of archives. After unpacking 14.1 MB will be used.
The following packages have unmet dependencies:
 puppet-agent : Breaks: mcollective-common (< 3.0.0) but 2.8.4-1puppetlabs1 is to be installed.
The following actions will resolve these dependencies:

     Remove the following packages:
1)     puppet-agent               
2)     puppetserver               

Accept this solution? [Y/n/q/?]

So it appears that the dependencies are expressed differently between the two platforms -- works on CentOS, breaks on Ubuntu.

Somewhat even more confusingly, Ubuntu has another package called 'mcollective-plugins-puppetd' that appears to provide identical functionality (enable/disable/runonce/etc) that is not present on CentOS, and it is NOT compatible with the mcollective-puppet-* commands (i.e. issuing an 'mco puppetd' command from an mco client is ignored by an mco server that has the 'mco puppet' command available).

From what I've been able to tell,  mcollective plugins were in flux as part of the change to PC1, which is why you need to install both the PC1 and legacy repositories to get some plugins.  But PC1 has been 'released' for quite a while and I was kind of expecting these sorts of issues to be sorted out by now.

Is there a good solution to this?  I'm at the point where I'm thinking of just ripping the Ruby file(s) out of one of the packages and managing it with a file{} resource and ditching packages completely, but if there's a better way to do this, I'd like to hear about it.

And of course, there are no packages for mcollective plugins available for Windows at all, as far as I can tell.  But that's a whole other issue.  ;)

Thanks,

- Peter

R.I.Pienaar

unread,
Jul 4, 2016, 3:59:05 PM7/4/16
to puppet-users
Packaging on ubuntu with PC1 is unfortunately broken, there was a recent
commit to fix this but I doubt anything has been released to fix it.

as for 'puppetd' agent vs 'puppet' agent, back in the dark ages you didnt
have 'puppet agent' but 'puppetd', thats a old agent to manage ancient puppet
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email
> to puppet-users...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/577AAB47.9010702%40alter3d.ca.
> For more options, visit https://groups.google.com/d/optout.

Melissa Stone

unread,
Jul 5, 2016, 1:04:03 PM7/5/16
to puppet-users
I believe there is ongoing discussion about the MCO plugin packages at https://tickets.puppetlabs.com/browse/MCO-722. If you follow that ticket, you'll get all the latest updates and decisions regarding the plugins.


For more options, visit https://groups.google.com/d/optout.
--
Melissa Stone
Release Engineer, Puppet Labs
--------------------------------------------------

PuppetConf 2016, October 17-21, San Diego, California
Early Birds save $350 - Register by June 30th
Reply all
Reply to author
Forward
0 new messages