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

Containment Problem: install, config, and service classes are not contained #259

Open
natemccurdy opened this issue Mar 2, 2017 · 1 comment

Comments

@natemccurdy
Copy link
Contributor

natemccurdy commented Mar 2, 2017

The rsyslog::install, rsyslog::config, and rsyslog::service classes are not contained within rsyslog. This makes it impossible to create a relationship to the rsyslog class and expect the packages, services, and configs to be managed as part of that relationship.

A real-world problem that this creates is that if I want to make sure I'm registered to Satellite or install EPEL repos before I try to install rsyslog, I'd get errors about about missing rsyslog packages.

Example Code

include subscription_manager_stuff
include rsyslog::client

Class['subscription_manager_stuff'] -> Class['rsyslog::client']
# This doesn't work either
Class['subscription_manager_stuff'] -> Class['rsyslog']

Expected Outcome

Subscription Manager registers me to Satellite before rsyslog packages are installed. Convergence in a single Puppet run.

Actual Outcome

The rsyslog packages are intalled before I'm registered to Satellite, which causes failures in my Puppet run. Convergence requires two Puppet runs.

@natemccurdy
Copy link
Contributor Author

I suppose a short term fix would be to just make a relationship to the rsyslog::install class. But that is rather unintuitive if you don't know the problem exists.

I'll work on a PR and see if I can get this patched.

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

1 participant