[chef] Re: Re: strategies to prevent chef-client bomb out due to yum error?


Chronological Thread 
  • From:
  • To:
  • Cc: Brad Knowles < >
  • Subject: [chef] Re: Re: strategies to prevent chef-client bomb out due to yum error?
  • Date: Thu, 22 Mar 2012 15:00:03 -0700


AWESOME! thanks so much for the response.

kallen

On Thu, 22 Mar 2012, Brad Knowles wrote:

> On Mar 21, 2012, at 9:35 PM, 
> 
>  wrote:
> 
> > hi. this keeps happening to me lately. in various places in my cookbooks,
> > i'll yum install an rpm. sometimes the process bombs out because it gets
> > a 503 response from http://mirrors.fedoraproject.org/. contacting that
> > server only happens for the epel repo.
> > 
> > is this happening to anyone else? how do you solve it?
> 
> Yes, this happened to us all the time.  I ultimately decided to ship the 
> entire epel-release-5-4.noarch.rpm file via cookbook_file so that I could 
> push it directly to my nodes and they could themselves keep track of which 
> mirrors are working well/fast, and wouldn't constantly trip themselves up 
> by trying to hit the whacked-up mirror rotator.
> 
> I believe I heard jtimberman also making some noises about this problem on 
> #chef.
> 
> > one solution might be to mirror that repo locally, but i really don't
> > want to.
> 
> We tried to set up a mirror for that repo locally, but because of the way 
> the EPEL mirroring system works, that's actually kind of a pain.  Either 
> you hard-code everything to your local URL that is the EPEL mirror and you 
> live with the problems of what happens when your local mirror is down, or 
> you officially register yourself as a mirror of EPEL so that you can get 
> into the mirrormanager system and therefore catch all the "local" IP 
> addresses that are looking for a mirror and get them redirected to you.  
> But if you officially register yourself as a mirror of EPEL, then you've 
> got a huge mass of additional traffic that you might have to deal with.
> 
> Blech and double blech.
> 
> > maybe another solution would be to disable this line in epel.repo:
> > 
> > mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-5&arch=$basearch
> > 
> > and enable this line?
> > 
> > baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch/debug
> 
> Here's our solution:
> 
> cookbook_file 
> "#{Chef::Config[:file_cache_path]}/epel-release-#{epel}.noarch.rpm" do
>   Chef::Log.info("Providing epel-release-#{epel}.noarch.rpm via 
> cookbook_file")
>   source "epel-release-#{epel}.noarch.rpm"
>   not_if "rpm -qa | grep -qx 'epel-release-#{epel}'"
> end
> 
> rpm_package "epel-release" do
>   source "#{Chef::Config[:file_cache_path]}/epel-release-#{epel}.noarch.rpm"
> end
> 
> > is it a good idea for the package or yum_package provider to help with
> > this? then again, maybe not because the point of cfg mgmt here is for
> > a node to be in a known and intended state. and if it can't get there,
> > then it's a "bad" node, and the chef-client run should fail.
> 
> Last I saw, there was still a bug in the yum provider that could cause it 
> to fail an entire chef run because yum was returning a non-zero error code, 
> even in cases where the output from yum indicates that this might be just a 
> temporary error and you should retry at a later time.  I know some fixes 
> have been applied to the yum provider on this issue, but I don't think the 
> bug has been fully squashed.
> 
> Meanwhile, code your CentOS systems knowing that yum does crazy whacky 
> stuff when it hits mirror sites that are run in crazy whacky ways, and that 
> this combination frequently occurs when you mix yum and EPEL.
> 
> -- 
> Brad Knowles 
> < >
> SAGE Level IV, Chef Level 0.0.1



Archive powered by MHonArc 2.6.16.

§