Re: [Puppet Users] Enable yum repositories as needed

2011-06-24 Thread Steven Acres
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

2011-06-24 Thread Nathan Clemons
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

2011-06-24 Thread Craig White

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

2011-06-24 Thread James A. Peltier
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.