Re: [Puppet Users] Enable yum repositories as needed
On Fri, Jun 24, 2011 at 3:37 PM, Nathan Clemons wrote: > There's an open bug concerning this very issue, in regards to being able to > specify which repos to use when installing an rpm using the package > resource. > > http://projects.puppetlabs.com/issues/2247 > > -- > Nathan Clemons > http://www.livemocha.com > The worlds largest online language learning community > > > > On Fri, Jun 24, 2011 at 12:27 PM, Craig White wrote: > >> >> On Jun 24, 2011, at 11:48 AM, James A. Peltier wrote: >> >> > Hi All, >> > >> > I'm new to puppet and I'm having some difficulty enabling and disabling >> yum repositories on an as needed basis and I was wondering if you all might >> be able to provide me with some assistance. I've been able to get puppet to >> configure a yum repository, I'm going to use EPEL as an example here but I'd >> like it for all, by creating a class called epel.pp containing >> > >> > class epel { >> > yumrepo { "epel": descr => "Extra Packages for Enterprise Linux >> \$releasever - \$basearch", baseurl => " >> http://mirror.its.sfu.ca/mirror/CentOS-Third-Party/epel/\$releasever/\$basearch";, >> gpgcheck => 1, gpgkey => " >> http://mirror.its.sfu.ca/mirror/CentOS-Third-Party/epel/RPM-GPG-KEY-EPEL";, >> enabled=0 } >> > } >> > >> > and it does create and populate the /etc/yum.repos.d/epel.repo file with >> this information. Now I want to be able to install ganglia-gmond >> automatically from this repository but I can't figure out how to enable and >> disable the repo afterwards? Can anyone please provide an example of how >> something like this may be accomplished? >> >> I've been at this for less than a week and primarily concentrating on >> ubuntu, not RHEL/CentOS so take this with a grain of salt >> >> You have to be careful when installing packages from another repo but >> generally, you just keep the EPEL repo disabled and instead of using the >> built-in package command, you would want to 'exec' something like... >> >> exec('/usr/bin/yum --enablerepo=epel install -y ganglia-gmond') and I >> would also note that you have to ensure that the rpm-gpg key is installed >> for the epel repo BEFORE that command is executed - I believe you already >> provided the gpg-key URL to us. >> >> something like this should work (adapt for rpm/yum and note that rpm >> stores keys in /etc/pki/rpm-gpg)... >> >> class apt { >> package { "apt": >>ensure => installed, >>} >> file{"/etc/apt/sources.list": >>ensure => present, >>owner => root, >>group => root, >>mode=> 0444, >>content => template("apt/sources.list.erb"), >>require => Package["apt"], >> } >> exec{"/usr/bin/apt-get update": >>refreshonly => true, >>subscribe => File["/etc/apt/sources.list"], >>require => File["/etc/apt/sources.list"], >> } >> # MongoDB Key >> apt::key { "7F0CEB10": >>keyid => "7F0CEB10", >>ensure => present, >> } >> } >> define apt::key($keyid, $ensure, $keyserver = "keyserver.ubuntu.com") { >> case $ensure { >>present: { >> exec { "Import $keyid to apt keystore": >>path=> "/bin:/usr/bin", >>environment => "HOME=/root", >>command => "gpg --keyserver $keyserver --recv-keys $keyid && >> gpg --export --armor $keyid | apt-key add -", >>user=> "root", >>group => "root", >>unless => "apt-key list | grep $keyid", >>logoutput => on_failure, >> } >>} >>absent: { >> exec { "Remove $keyid from apt keystore": >>path=> "/bin:/usr/bin", >>environment => "HOME=/root", >>command => "apt-key del $keyid", >>user=> "root", >>group => "root", >>onlyif => "apt-key list | grep $keyid", >> } >>} >>default: { >> fail "Invalid 'ensure' value '$ensure' for apt::key" >> } >> } >> } >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To post to this group, send email to puppet-users@googlegroups.com. >> To unsubscribe from this group, send email to >> puppet-users+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/puppet-users?hl=en. >> >> > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > Hi, Consider creating internal mirrors and internal repos (created and rebuilt *.src.rpm repos). The benefits are manifold (management, bandwidth, security). -- Cheers, Steven --- Steven Acres UNIX/Linux System Administrator -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send em
Re: [Puppet Users] Enable yum repositories as needed
There's an open bug concerning this very issue, in regards to being able to specify which repos to use when installing an rpm using the package resource. http://projects.puppetlabs.com/issues/2247 -- Nathan Clemons http://www.livemocha.com The worlds largest online language learning community On Fri, Jun 24, 2011 at 12:27 PM, Craig White wrote: > > On Jun 24, 2011, at 11:48 AM, James A. Peltier wrote: > > > Hi All, > > > > I'm new to puppet and I'm having some difficulty enabling and disabling > yum repositories on an as needed basis and I was wondering if you all might > be able to provide me with some assistance. I've been able to get puppet to > configure a yum repository, I'm going to use EPEL as an example here but I'd > like it for all, by creating a class called epel.pp containing > > > > class epel { > > yumrepo { "epel": descr => "Extra Packages for Enterprise Linux > \$releasever - \$basearch", baseurl => " > http://mirror.its.sfu.ca/mirror/CentOS-Third-Party/epel/\$releasever/\$basearch";, > gpgcheck => 1, gpgkey => " > http://mirror.its.sfu.ca/mirror/CentOS-Third-Party/epel/RPM-GPG-KEY-EPEL";, > enabled=0 } > > } > > > > and it does create and populate the /etc/yum.repos.d/epel.repo file with > this information. Now I want to be able to install ganglia-gmond > automatically from this repository but I can't figure out how to enable and > disable the repo afterwards? Can anyone please provide an example of how > something like this may be accomplished? > > I've been at this for less than a week and primarily concentrating on > ubuntu, not RHEL/CentOS so take this with a grain of salt > > You have to be careful when installing packages from another repo but > generally, you just keep the EPEL repo disabled and instead of using the > built-in package command, you would want to 'exec' something like... > > exec('/usr/bin/yum --enablerepo=epel install -y ganglia-gmond') and I would > also note that you have to ensure that the rpm-gpg key is installed for the > epel repo BEFORE that command is executed - I believe you already provided > the gpg-key URL to us. > > something like this should work (adapt for rpm/yum and note that rpm stores > keys in /etc/pki/rpm-gpg)... > > class apt { > package { "apt": >ensure => installed, >} > file{"/etc/apt/sources.list": >ensure => present, >owner => root, >group => root, >mode=> 0444, >content => template("apt/sources.list.erb"), >require => Package["apt"], > } > exec{"/usr/bin/apt-get update": >refreshonly => true, >subscribe => File["/etc/apt/sources.list"], >require => File["/etc/apt/sources.list"], > } > # MongoDB Key > apt::key { "7F0CEB10": >keyid => "7F0CEB10", >ensure => present, > } > } > define apt::key($keyid, $ensure, $keyserver = "keyserver.ubuntu.com") { > case $ensure { >present: { > exec { "Import $keyid to apt keystore": >path=> "/bin:/usr/bin", >environment => "HOME=/root", >command => "gpg --keyserver $keyserver --recv-keys $keyid && gpg > --export --armor $keyid | apt-key add -", >user=> "root", >group => "root", >unless => "apt-key list | grep $keyid", >logoutput => on_failure, > } >} >absent: { > exec { "Remove $keyid from apt keystore": >path=> "/bin:/usr/bin", >environment => "HOME=/root", >command => "apt-key del $keyid", >user=> "root", >group => "root", >onlyif => "apt-key list | grep $keyid", > } >} >default: { > fail "Invalid 'ensure' value '$ensure' for apt::key" > } > } > } > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Enable yum repositories as needed
On Jun 24, 2011, at 11:48 AM, James A. Peltier wrote: > Hi All, > > I'm new to puppet and I'm having some difficulty enabling and disabling yum > repositories on an as needed basis and I was wondering if you all might be > able to provide me with some assistance. I've been able to get puppet to > configure a yum repository, I'm going to use EPEL as an example here but I'd > like it for all, by creating a class called epel.pp containing > > class epel { > yumrepo { "epel": descr => "Extra Packages for Enterprise Linux \$releasever > - \$basearch", baseurl => > "http://mirror.its.sfu.ca/mirror/CentOS-Third-Party/epel/\$releasever/\$basearch";, > gpgcheck => 1, gpgkey => > "http://mirror.its.sfu.ca/mirror/CentOS-Third-Party/epel/RPM-GPG-KEY-EPEL";, > enabled=0 } > } > > and it does create and populate the /etc/yum.repos.d/epel.repo file with this > information. Now I want to be able to install ganglia-gmond automatically > from this repository but I can't figure out how to enable and disable the > repo afterwards? Can anyone please provide an example of how something like > this may be accomplished? I've been at this for less than a week and primarily concentrating on ubuntu, not RHEL/CentOS so take this with a grain of salt You have to be careful when installing packages from another repo but generally, you just keep the EPEL repo disabled and instead of using the built-in package command, you would want to 'exec' something like... exec('/usr/bin/yum --enablerepo=epel install -y ganglia-gmond') and I would also note that you have to ensure that the rpm-gpg key is installed for the epel repo BEFORE that command is executed - I believe you already provided the gpg-key URL to us. something like this should work (adapt for rpm/yum and note that rpm stores keys in /etc/pki/rpm-gpg)... class apt { package { "apt": ensure => installed, } file{"/etc/apt/sources.list": ensure => present, owner => root, group => root, mode=> 0444, content => template("apt/sources.list.erb"), require => Package["apt"], } exec{"/usr/bin/apt-get update": refreshonly => true, subscribe => File["/etc/apt/sources.list"], require => File["/etc/apt/sources.list"], } # MongoDB Key apt::key { "7F0CEB10": keyid => "7F0CEB10", ensure => present, } } define apt::key($keyid, $ensure, $keyserver = "keyserver.ubuntu.com") { case $ensure { present: { exec { "Import $keyid to apt keystore": path=> "/bin:/usr/bin", environment => "HOME=/root", command => "gpg --keyserver $keyserver --recv-keys $keyid && gpg --export --armor $keyid | apt-key add -", user=> "root", group => "root", unless => "apt-key list | grep $keyid", logoutput => on_failure, } } absent: { exec { "Remove $keyid from apt keystore": path=> "/bin:/usr/bin", environment => "HOME=/root", command => "apt-key del $keyid", user=> "root", group => "root", onlyif => "apt-key list | grep $keyid", } } default: { fail "Invalid 'ensure' value '$ensure' for apt::key" } } } -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Enable yum repositories as needed
Hi All, I'm new to puppet and I'm having some difficulty enabling and disabling yum repositories on an as needed basis and I was wondering if you all might be able to provide me with some assistance. I've been able to get puppet to configure a yum repository, I'm going to use EPEL as an example here but I'd like it for all, by creating a class called epel.pp containing class epel { yumrepo { "epel": descr => "Extra Packages for Enterprise Linux \$releasever - \$basearch", baseurl => "http://mirror.its.sfu.ca/mirror/CentOS-Third-Party/epel/\$releasever/\$basearch";, gpgcheck => 1, gpgkey => "http://mirror.its.sfu.ca/mirror/CentOS-Third-Party/epel/RPM-GPG-KEY-EPEL";, enabled=0 } } and it does create and populate the /etc/yum.repos.d/epel.repo file with this information. Now I want to be able to install ganglia-gmond automatically from this repository but I can't figure out how to enable and disable the repo afterwards? Can anyone please provide an example of how something like this may be accomplished? -- James A. Peltier IT Services - Research Computing Group Simon Fraser University - Burnaby Campus Phone : 778-782-6573 Fax : 778-782-3045 E-Mail : jpelt...@sfu.ca Website : http://www.sfu.ca/itservices http://blogs.sfu.ca/people/jpeltier -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.