Please Help Me - Foreman / Smart Class Parameter / Puppet / Modules Order

117 views
Skip to first unread message

Royee Tager

unread,
Oct 31, 2014, 6:25:31 PM10/31/14
to puppet...@googlegroups.com
Hello all,

I really need your assistance as I'm lost.
My scenario is as follows:

1. I wrote two Puppet modules: local_repositroy & spacewalk (attached)
2. I use Foreman as ENC
3. I override the class parameters of the 2 Puppet modules with the smart class parameter option of the Foreman
4. The local_repository module configures a local repositroy which holds the RPMs for the spacewalk installation so it has to run before the spacewalk module
5. I have other modules which install other RPMs so those modules have to run only after the spacewalk module so the order should be as follows:
local_repositroy -> spacewalk -> module A
local_repositroy -> spacewalk -> module B
local_repositroy -> spacewalk -> module c
......
......
6. How do I tie it all together? I have been told, that I might need to write some kind of a wrapper but I'm not sure / know how to do it.

I really got lost and I don't know how to continue. 
Do I really need to use a wrapper?
I wrote a wrapper (attached too) but still for some reason the spacewalk module runs before the local_repositroy modue - check the attached output (please ignore the errors as I still need to copy the RPMs). Why?

Info: Applying configuration version '1414793680'
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y list rhn-setup' returned 1: Error: No matching Packages to list
Error: /Stage[main]/Spacewalk::Install/Package[rhn-setup]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y list rhn-setup' returned 1: Error: No matching Packages to list
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y list rhnsd' returned 1: Error: No matching Packages to list
Error: /Stage[main]/Spacewalk::Install/Package[rhnsd]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y list rhnsd' returned 1: Error: No matching Packages to list
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y list rhn-client-tools' returned 1: Error: No matching Packages to list
Error: /Stage[main]/Spacewalk::Install/Package[rhn-client-tools]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y list rhn-client-tools' returned 1: Error: No matching Packages to list
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y list m2crypto' returned 1: Error: No matching Packages to list
Error: /Stage[main]/Spacewalk::Install/Package[m2crypto]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y list m2crypto' returned 1: Error: No matching Packages to list
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y list yum-rhn-plugin' returned 1: Error: No matching Packages to list
Error: /Stage[main]/Spacewalk::Install/Package[yum-rhn-plugin]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y list yum-rhn-plugin' returned 1: Error: No matching Packages to list
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y list rhn-check' returned 1: Error: No matching Packages to list
Error: /Stage[main]/Spacewalk::Install/Package[rhn-check]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y list rhn-check' returned 1: Error: No matching Packages to list
Notice: /Stage[main]/Spacewalk::Config/Exec[register-client]: Dependency Package[m2crypto] has failures: true
Notice: /Stage[main]/Spacewalk::Config/Exec[register-client]: Dependency Package[rhnsd] has failures: true
Notice: /Stage[main]/Spacewalk::Config/Exec[register-client]: Dependency Package[rhn-setup] has failures: true
Notice: /Stage[main]/Spacewalk::Config/Exec[register-client]: Dependency Package[yum-rhn-plugin] has failures: true
Notice: /Stage[main]/Spacewalk::Config/Exec[register-client]: Dependency Package[rhn-check] has failures: true
Notice: /Stage[main]/Spacewalk::Config/Exec[register-client]: Dependency Package[rhn-client-tools] has failures: true
Warning: /Stage[main]/Spacewalk::Config/Exec[register-client]: Skipping because of failed dependencies
Notice: /Stage[main]/Local_repository::Config/Yumrepo[xio_custom]/ensure: created
Info: changing mode of /etc/yum.repos.d/xio_custom.repo from 600 to 644
Notice: Finished catalog run in 1.20 seconds
[root@centos65 yum.repos.d]#

Do I have another option?

Any help is appreciated.

Thanks,

Royee Tager
puppet problem.zip

Felix Frank

unread,
Nov 10, 2014, 3:56:44 AM11/10/14
to puppet...@googlegroups.com
Hi,

your approach is not all that bad. You might want to consider adopting
Roles and Profiles.

Your "wrapper" class is essentially a role. The relationship

Class['::local_repository'] -> Class['::spacewalk']

is probably the way to go, assuming that your modules have sound
internal relations (through the Anchor Pattern or contained classes,
most likely).

As for the additional profiles you need, you can make them depend on the
spacewalk module with the same syntax.

HTH,
Felix
Reply all
Reply to author
Forward
0 new messages