Skip to content

Conversation

@dhoppe
Copy link
Member

@dhoppe dhoppe commented Jan 3, 2020

Fixes #816

@dhoppe dhoppe added the enhancement New feature or request label Jan 3, 2020
@bastelfreak
Copy link
Member

This depends on voxpupuli/facterdb#137 :(. We need to wait with the merge of this PR or we pin facterdb to the commit with CentOS 8 factsets.

@dhoppe
Copy link
Member Author

dhoppe commented Jan 3, 2020

@bastelfreak I know that camptocamp takes some time to merge pull requests, but pinning facterdb to the commit ID feels dirty, too.

@bastelfreak
Copy link
Member

I think pinning it is totally fine as a workaround. We already did that in a few other modules as well. I also pinged Raphael again to kick of a facterdb release.

@ghoneycutt
Copy link
Member

This seems to be failing because it is trying to download puppet for fedora 31 which does not exist. http://yum.puppetlabs.com/puppet5-release-fedora-30.noarch.rpm is the latest release.

@dhoppe
Copy link
Member Author

dhoppe commented Jan 23, 2020

@ghoneycutt This is not related to Fedora 31. The build jobs for CentOS 8 fail.

By default the parameter repos_ensure is set to false, but the module garethr/erlang will enable the EPEL repository, which is used to install the package rabbitmq-server. But the EPEL repository does not contain a rabbitmq-server package for CentOS 8.

Does anybody know, why this module does not use the Packagecloud repository to install RabbitMQ?

@dhoppe dhoppe added the needs-feedback Further information is requested label Jan 23, 2020
@wyardley
Copy link
Contributor

@dhoppe originally, the RMQ packages were the default. Quite a while back, when Puppet was still maintaining this module, I talked with the folks there and decided to rework it to default to using vendor packages vs packagecloud. I don’t remember all of the details, probably may be some more in the PR comments (#493).

At that time, I don’t think the OS vendor packages were so far out of date, and seemed like a sane default.

As far as the erlang dep, the erlang module isn’t really maintained now, so adjusting the strategy of which erlang version to get from where may also make some sense.

However, I haven’t had the time, need, or inclination to do the structural work involved in redoing the erlang installation, default package version, and integration tests.

As far as erlang dep goes, I think one challenge is making the module have somewhat sane defaults but also deal with cases where erlang is already present from something else the (module) user has done.

@nmaludy
Copy link
Member

nmaludy commented Feb 13, 2020

Restarting build job as voxpupuli/facterdb#137 was merged

@dhoppe
Copy link
Member Author

dhoppe commented Feb 13, 2020

Travis CI still fails, because voxpupuli/puppet-epel#61 has not been merged.

@wyardley
Copy link
Contributor

@dhoppe let me know if you want any more input / background on this. I don't have the energy / need to make changes, but happy to review, and I do think it does make sense to do a major where we switch back to the default of using the RabbitMQ repos.

The thing (maybe mentioned in some other threads) that's also tricky is the different possible methods of satisfying the erlang deps, and the fact that, I think, the puppet erlang module isn't really maintained. So any updates would probably need to accommodate a couple different ways of satisfying the erlang deps.

@nmaludy
Copy link
Member

nmaludy commented Jun 27, 2020

I've been looking into this because a module i maintain stackstorm/st2 depends on this module for RabbitMQ. I think the current piece being held up is that the current erlang module is no longer maintained and EPEL for EL8 doesn't contain the erlang dependencies we need.

I'll see if next week i can take a swing a making a new erlang module and donating it to Vox so we can maintain this as a community going forward.

Thoughts?

@nmaludy
Copy link
Member

nmaludy commented Jun 27, 2020

Sorry, i take that back, it looks like erlang installs correctly, but EPEL no longer includes rabbitmq-server. We may need to rely on the PackageCloud or Bintray repositories on EL8 to get rabbitmq-server: https://www.rabbitmq.com/install-rpm.html

Here are the lines in the build that are failing: https://travis-ci.org/github/voxpupuli/puppet-rabbitmq/jobs/632264648#L1831-L1832

  Error: Execution of '/usr/bin/dnf -d 0 -e 1 -y install rabbitmq-server' returned 1: Error: Unable to find a match: rabbitmq-server

  Error: /Stage[main]/Rabbitmq::Install/Package[rabbitmq-server]/ensure: change from 'purged' to 'present' failed: Execution of '/usr/bin/dnf -d 0 -e 1 -y install rabbitmq-server' returned 1: Error: Unable to find a match: rabbitmq-server

Looking at the EPEL repo for EL8, i don't see any rabbitmq packages: https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/r/

@wyardley
Copy link
Contributor

That would be great (new erlang module).

@wyardley
Copy link
Contributor

@nmaludy it may work already if you set repos_ensure to true

@nmaludy
Copy link
Member

nmaludy commented Jun 27, 2020

@wyardley OK, i'll give that a shot on my local box. We may have to adjust the acceptance tests for el8 to set that as default, then probably set it up that way in module hiera data and/or document it in the README.

@nmaludy
Copy link
Member

nmaludy commented Jun 29, 2020

@wyardley I was able to get this working on a local CentOS 8 Vagrant box with the following:

class { 'erlang': epel_enable => true, }
~> class { 'rabbitmq' : }

But, i also had to modify hiera.yaml to add a new data layer:

  - name: 'Operating System Family Version'
    path: "family/%{facts.os.family}-%{facts.os.release.major}.yaml"

And then add the following hiera data file: data/family/RedHat-8.yaml

---
rabbitmq::python_package: 'python3'
rabbitmq::repos_ensure: true

Going to create a PR now.

@nmaludy
Copy link
Member

nmaludy commented Jun 29, 2020

New PR is available here: #842

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request needs-feedback Further information is requested tests-fail

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for RHEL/CentOS 8

6 participants