FAQ
Hi,

I'm trying to get my yum module to manage system repositories like
CentOS-Base. My yum module is part of a pre run stage so it puts the
necessary repositories in place before other modules try to install
anything.

I've just run into a problem though; when Puppet installs a repo via
yumrepo, it doesn't clear the yum cache. This means that when the
modules in the main stage start trying to install packages, many will
error as yum doesn't see the new respositories.

Running yum clean metadata fixes this, but I'm not sure how best to
automate it in the module. I don't want to turn metadata caching off,
or have a regular cron flushing it as I've seeen suggested before - an
exec subscribed to /etc/yum.repos.d would be perfect, but that doesn't
work.

I'm posting this here prior to putting something in the Puppet Labs
bug tracker, as either a feature request or a bug (I think it's fairly
essential that adding repositories leads to a refresh of yum cache...
shouldn't really have to work around it in my opinion)

Thanks!

Andy

--
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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Search Discussions

  • Jo Rhett at May 4, 2012 at 9:11 pm
    I just have it run a "yum clean all" exec command every time a repo is updated. Since they all refer to the same exec, it only happens once after the repos are updated.

    The tricky part is ensuring that anything trying to update software in the same run has a require=> set that ensures all the yum repos and the yum clean all are completed before they run, or you get:

    update yum repo
    update package
    yum clean all
    ….

    I just require the entire yumrepo class, but there may be better ways.
    On May 4, 2012, at 6:54 AM, Andy Taylor wrote:
    I'm trying to get my yum module to manage system repositories like
    CentOS-Base. My yum module is part of a pre run stage so it puts the
    necessary repositories in place before other modules try to install
    anything.

    I've just run into a problem though; when Puppet installs a repo via
    yumrepo, it doesn't clear the yum cache. This means that when the
    modules in the main stage start trying to install packages, many will
    error as yum doesn't see the new respositories.

    Running yum clean metadata fixes this, but I'm not sure how best to
    automate it in the module. I don't want to turn metadata caching off,
    or have a regular cron flushing it as I've seeen suggested before - an
    exec subscribed to /etc/yum.repos.d would be perfect, but that doesn't
    work.

    I'm posting this here prior to putting something in the Puppet Labs
    bug tracker, as either a feature request or a bug (I think it's fairly
    essential that adding repositories leads to a refresh of yum cache...
    shouldn't really have to work around it in my opinion)

    Thanks!

    Andy

    --
    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+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
    --
    Jo Rhett
    Net Consonance : net philanthropy to improve open source and internet projects.



    --
    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+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Eric Shamow at May 5, 2012 at 12:59 am
    Just a note - it's better to do yum clean metadata than all in most cases.

    There's no reason to drop all that cached package stuff - you just want to get rid of the repo index.

    --

    Eric Shamow
    Professional Services
    http://puppetlabs.com/
    (c)631.871.6441

    On Friday, May 4, 2012 at 5:11 PM, Jo Rhett wrote:

    I just have it run a "yum clean all" exec command every time a repo is updated. Since they all refer to the same exec, it only happens once after the repos are updated.

    The tricky part is ensuring that anything trying to update software in the same run has a require=> set that ensures all the yum repos and the yum clean all are completed before they run, or you get:

    update yum repo
    update package
    yum clean all
    ….

    I just require the entire yumrepo class, but there may be better ways.
    On May 4, 2012, at 6:54 AM, Andy Taylor wrote:
    I'm trying to get my yum module to manage system repositories like
    CentOS-Base. My yum module is part of a pre run stage so it puts the
    necessary repositories in place before other modules try to install
    anything.

    I've just run into a problem though; when Puppet installs a repo via
    yumrepo, it doesn't clear the yum cache. This means that when the
    modules in the main stage start trying to install packages, many will
    error as yum doesn't see the new respositories.

    Running yum clean metadata fixes this, but I'm not sure how best to
    automate it in the module. I don't want to turn metadata caching off,
    or have a regular cron flushing it as I've seeen suggested before - an
    exec subscribed to /etc/yum.repos.d would be perfect, but that doesn't
    work.

    I'm posting this here prior to putting something in the Puppet Labs
    bug tracker, as either a feature request or a bug (I think it's fairly
    essential that adding repositories leads to a refresh of yum cache...
    shouldn't really have to work around it in my opinion)

    Thanks!

    Andy

    --
    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 (mailto:puppet-users@googlegroups.com).
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com (mailto:puppet-users+unsubscribe@googlegroups.com).
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
    --
    Jo Rhett
    Net Consonance : net philanthropy to improve open source and internet projects.



    --
    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 (mailto:puppet-users@googlegroups.com).
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com (mailto:puppet-users+unsubscribe@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+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Andy Taylor at May 9, 2012 at 9:49 am
    Thanks guys. In the end I set up a notify to ping an exec which did a
    yum clean operation whenever a yumrepo resource was modified. Seems to
    work fine.

    Thanks!

    Andy
    On May 5, 1:59 am, Eric Shamow wrote:
    Just a note - it's better to do yum clean metadata than all in most cases.

    There's no reason to drop all that cached package stuff - you just want to get rid of the repo index.

    --

    Eric Shamow
    Professional Serviceshttp://puppetlabs.com/
    (c)631.871.6441






    On Friday, May 4, 2012 at 5:11 PM, Jo Rhett wrote:
    I just have it run a "yum clean all" exec command every time a repo is updated.  Since they all refer to the same exec, it only happens once after the repos are updated.
    The tricky part is ensuring that anything trying to update software in the same run has a require=> set that ensures all the yum repos and the yum clean all are completed before they run, or you get:
    update yum repo
    update package
    yum clean all
    ….
    I just require the entire yumrepo class, but there may be better ways.
    On May 4, 2012, at 6:54 AM, Andy Taylor wrote:
    I'm trying to get my yum module to manage system repositories like
    CentOS-Base. My yum module is part of a pre run stage so it puts the
    necessary repositories in place before other modules try to install
    anything.
    I've just run into a problem though; when Puppet installs a repo via
    yumrepo, it doesn't clear the yum cache. This means that when the
    modules in the main stage start trying to install packages, many will
    error as yum doesn't see the new respositories.
    Running yum clean metadata fixes this, but I'm not sure how best to
    automate it in the module. I don't want to turn metadata caching off,
    or have a regular cron flushing it as I've seeen suggested before - an
    exec subscribed to /etc/yum.repos.d would be perfect, but that doesn't
    work.
    I'm posting this here prior to putting something in the Puppet Labs
    bug tracker, as either a feature request or a bug (I think it's fairly
    essential that adding repositories leads to a refresh of yum cache...
    shouldn't really have to work around it in my opinion)
    Thanks!
    Andy
    --
    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 (mailto:puppet-users@googlegroups.com).
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com (mailto:puppet-users+unsubscribe@googlegroups.com).
    For more options, visit this group athttp://groups.google.com/group/puppet-users?hl=en.
    --
    Jo Rhett
    Net Consonance : net philanthropy to improve open source and internet projects.
    --
    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 (mailto:puppet-users@googlegroups.com).
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com (mailto:puppet-users+unsubscribe@googlegroups.com).
    For more options, visit this group athttp://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+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedMay 4, '12 at 1:54p
activeMay 9, '12 at 9:49a
posts4
users3
websitepuppetlabs.com

People

Translate

site design / logo © 2022 Grokbase