[Puppet Users] Puppet and yum repositories

2009-04-29 Thread t.kend...@kew.org

I'm running puppet 0.24.6 on CentOS 5.2 from a puppetmaster on a
virtual server to a variety
of client servers both virtual and metal running either CentOS 5.2 or
Fedora Core 10. I want to
extend this to servers running RHEL 5 (and 6) in the near future.

My problem is I have puppet set up with all repositories (mirrored
locally using cobbler)
included in one file in /etc/yum.repos.d/kewrepos.repo on the
puppermaster. This file contains
both Centos and Fedora repos and when I run a yum update I just --
disablerepo=whichever I don't want,
which can be done as a cron job.

The difficulty is sometimes puppet runs yum automatically, which loops
on a CentOS webserver
trying to reinstall httpd, getting confused by the presence of Fedora
repositories.

My question is how can I set up puppet so that I can tell, once and
for all, The Fedora boxes to
look at the Fedora repos and the CentOS boxes to CentOS repos only? I
want to be able to
configure unlimited repos in the future for workstations (Fedora) and
servers (CentOS or RHEL).

Thanks in advance

Tim Kendall

I just added Kew Gardens where I work to your Wiki list of users

--~--~-~--~~~---~--~~
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] Puppet and yum repositories

2009-04-29 Thread t.kend...@kew.org

I'm running puppet 0.24.6 on CentOS 5.2 from a puppetmaster on a
virtual server to a variety
of client servers both virtual and metal running either CentOS 5.2 or
Fedora Core 10. I want to
extend this to servers running RHEL 5 (and 6) in the near future.

My problem is I have puppet set up with all repositories (mirrored
locally using cobbler)
included in one file in /etc/yum.repos.d/kewrepos.repo on the
puppermaster. This file contains
both Centos and Fedora repos and when I run a yum update I just --
disablerepo=whichever I don't want,
which can be done as a cron job.

The difficulty is sometimes puppet runs yum automatically, which loops
on a CentOS webserver
trying to reinstall httpd, getting confused by the presence of Fedora
repositories.

My question is how can I set up puppet so that I can tell, once and
for all, The Fedora boxes to
look at the Fedora repos and the CentOS boxes to CentOS repos only? I
want to be able to
configure unlimited repos in the future for workstations (Fedora) and
servers (CentOS or RHEL).

Thanks in advance

Tim Kendall

I just added Kew Gardens where I work to your Wiki list of users

--~--~-~--~~~---~--~~
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] Re: Puppet and yum repositories

2009-05-01 Thread t.kend...@kew.org

Hi Brandon, thanks for this. I'm new to puppet and I have also
inherited a setup from a consultant who was at Kew before me.

I don't have a yum module, but I have a yum.pp in /etc/puppet/
manifests/classes which tells the puppetmaster  to distribute a
yum.conf and a repos.repo (a list of all local Fedora and CentOS
repos) to the puppet clients. My site.pp contains "include yum". I
don't
have anything anywhere called *.repo.erb. If I made yum just one of
many modules (put it in with ssh, amanda, mysql and all the others)
I would just add a line to /etc/puppet/manifests/modules.pp and add
something like your second snip into /etc/puppet/modules/yum/template/
to point to the local mirrors.

But where should I put this first bit of syntax beginning case
$operatingsystem and what should I call it? My current repos.repo
refers to $basearch and $releasever which are obviously variables set
from facter facts (like in your second snip) but I can't see where
those are set at the moment. Could I just change the current yum.pp to
include the case$operating system?

Help most welcome! Tim

On Apr 30, 10:19 pm, Brandon Evans  wrote:
> I prefer copying the repos over using a template.  This way all my
> CentOS boxes have the same repos.  If I were to add any Fedora boxes to
> the mix I'd add the repos to the Fedora {} block.
>
> case $operatingsystem  {
>         CentOS : {
>
>           file { "epel" :
>             path => "/etc/yum.repos.d/epel.repo",
>              owner => root,
>              group => root,
>              mode => 644,
>              content => template("yum-module/epel.repo.erb"),
>              ensure => file
>            }
>          }
>          Fedora : {
>            # Fedora repos here
>          }
>
> }
>
> Here is the template that goes in the
> /etc/puppet/modules/yum-module/template/ directory
>
> == SNIP ==
>
> [epel]
> name=Extra Packages for Enterprise Linux <%= lsbmajdistrelease %> -
> $basearch
> #baseurl=http://download.fedoraproject.org/pub/epel/<%=
> lsbmajdistrelease %>/$basearch
> mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-<%=
> lsbmajdistrelease %>&arch=$basearch
> failovermethod=priority
> enabled=<%= enableme %>
> gpgcheck=1
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
>
> == SNIP ==
>
> -Brandon
>
> t.kend...@kew.org wrote:
> > I'm running puppet 0.24.6 on CentOS 5.2 from a puppetmaster on a
> > virtual server to a variety
> > of client servers both virtual and metal running either CentOS 5.2 or
> > Fedora Core 10. I want to
> > extend this to servers running RHEL 5 (and 6) in the near future.
>
> > My problem is I have puppet set up with all repositories (mirrored
> > locally using cobbler)
> > included in one file in /etc/yum.repos.d/kewrepos.repo on the
> > puppermaster. This file contains
> > both Centos and Fedora repos and when I run a yum update I just --
> > disablerepo=whichever I don't want,
> > which can be done as a cron job.
>
> > The difficulty is sometimes puppet runs yum automatically, which loops
> > on a CentOS webserver
> > trying to reinstall httpd, getting confused by the presence of Fedora
> > repositories.
>
> > My question is how can I set up puppet so that I can tell, once and
> > for all, The Fedora boxes to
> > look at the Fedora repos and the CentOS boxes to CentOS repos only? I
> > want to be able to
> > configure unlimited repos in the future for workstations (Fedora) and
> > servers (CentOS or RHEL).
>
> > Thanks in advance
>
> > Tim Kendall
>
> > I just added Kew Gardens where I work to your Wiki list of users
--~--~-~--~~~---~--~~
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] Re: Puppet and yum repositories

2009-05-01 Thread t.kend...@kew.org

Hi Brandon, thanks for this. I'm new to puppet and I have also
inherited a setup from a consultant who was at Kew before me.

I don't have a yum module, but I have a yum.pp in /etc/puppet/
manifests/classes which tells the puppetmaster  to distribute a
yum.conf and a repos.repo (a list of all local Fedora and CentOS
repos) to the puppet clients. My site.pp contains "include yum". I
don't
have anything anywhere called *.repo.erb. If I made yum just one of
many modules (put it in with ssh, amanda, mysql and all the others)
I would just add a line to /etc/puppet/manifests/modules.pp and add
something like your second snip into /etc/puppet/modules/yum/template/
to point to the local mirrors.

But where should I put this first bit of syntax beginning case
$operatingsystem and what should I call it? My current repos.repo
refers to $basearch and $releasever which are obviously variables set
from facter facts (like in your second snip) but I can't see where
those are set at the moment. Could I just change the current yum.pp to
include the case$operating system?

Help most welcome! Tim

On Apr 30, 10:19 pm, Brandon Evans  wrote:
> I prefer copying the repos over using a template.  This way all my
> CentOS boxes have the same repos.  If I were to add any Fedora boxes to
> the mix I'd add the repos to the Fedora {} block.
>
> case $operatingsystem  {
>         CentOS : {
>
>           file { "epel" :
>             path => "/etc/yum.repos.d/epel.repo",
>              owner => root,
>              group => root,
>              mode => 644,
>              content => template("yum-module/epel.repo.erb"),
>              ensure => file
>            }
>          }
>          Fedora : {
>            # Fedora repos here
>          }
>
> }
>
> Here is the template that goes in the
> /etc/puppet/modules/yum-module/template/ directory
>
> == SNIP ==
>
> [epel]
> name=Extra Packages for Enterprise Linux <%= lsbmajdistrelease %> -
> $basearch
> #baseurl=http://download.fedoraproject.org/pub/epel/<%=
> lsbmajdistrelease %>/$basearch
> mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-<%=
> lsbmajdistrelease %>&arch=$basearch
> failovermethod=priority
> enabled=<%= enableme %>
> gpgcheck=1
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
>
> == SNIP ==
>
> -Brandon
>
> t.kend...@kew.org wrote:
> > I'm running puppet 0.24.6 on CentOS 5.2 from a puppetmaster on a
> > virtual server to a variety
> > of client servers both virtual and metal running either CentOS 5.2 or
> > Fedora Core 10. I want to
> > extend this to servers running RHEL 5 (and 6) in the near future.
>
> > My problem is I have puppet set up with all repositories (mirrored
> > locally using cobbler)
> > included in one file in /etc/yum.repos.d/kewrepos.repo on the
> > puppermaster. This file contains
> > both Centos and Fedora repos and when I run a yum update I just --
> > disablerepo=whichever I don't want,
> > which can be done as a cron job.
>
> > The difficulty is sometimes puppet runs yum automatically, which loops
> > on a CentOS webserver
> > trying to reinstall httpd, getting confused by the presence of Fedora
> > repositories.
>
> > My question is how can I set up puppet so that I can tell, once and
> > for all, The Fedora boxes to
> > look at the Fedora repos and the CentOS boxes to CentOS repos only? I
> > want to be able to
> > configure unlimited repos in the future for workstations (Fedora) and
> > servers (CentOS or RHEL).
>
> > Thanks in advance
>
> > Tim Kendall
>
> > I just added Kew Gardens where I work to your Wiki list of users
--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---