On Fri, Jun 24, 2011 at 3:37 PM, Nathan Clemons <nat...@livemocha.com>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 <craig.wh...@ttiltd.com>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 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.

Reply via email to