On Tuesday, April 19, 2016 at 11:07:07 AM UTC-5, J.T. Conklin wrote:
>
> Rob Nelson <rnel...@gmail.com <javascript:>> writes: 
> > Silly question, but what package manager doesn't let you upgrade those 
> > two packages independently but also doesn't update the dependent 
> > packages at the same time? 
>
> We have this problem on CentOS machines using the yum provider. The logs 
> reported something to the effect of openssl.x86_64 couldn't be updated 
> to version N+1 as that conflicted with openssl.i686 version N.  I wish 
> I had saved the logs at the time so I could share the exact text with 
> you all.
>


Yes, yum can be configured so that it forces co-installed 32-bit and 64-bit 
versions of the same package to have the same epoch:version-release, and 
that option ('protected_multilib') is enabled by default.  You could 
consider disabling it in your yum.conf, which, of course, Puppet could help 
you do.  That does not override general conflict detection, however, which 
could still be in play, nor normal dependency resolution.  And, really, 
having mismatched library versions seems a little dubious to me, but 
perhaps allowing it as a transitory state would make for smoother 
integration with Puppet.

It is conceivable that you would benefit from setting yum's 'multilib_policy' 
option to 'all' to automatically install all available architectures of 
each package, instead of, by default, only the one that best matches the 
machine architecture.  The former was the default configuration in EL5, 
whereas the latter became the default in EL6.  I don't think that will 
directly address your current problem, but it, too, might make for smoother 
integration.

As an ongoing concern, if you have multiple architectures of the same 
package installed on a given system, then yum commands that give the 
package name but no arch will affect all packages of that name.  Thus, 
updating just 'openssl' will update all installed arches of that package, 
whereas updating (or installing) 'openssl.x86_64' is specific to that arch 
of the package.  And that's where you're running into trouble.  Puppet's 
package providers manage a single package at a time (as it appears to 
them).  In your case, then, even though you're managing both openssl.x86_64 
and openssl.i686, Puppet attempts to perform a separate install / update 
for each.  The separate installs work, but separate updates do not.  You 
need to update both arches in the same yum run (supposing that 
protected_multilib is enabled), and the only way to do that in Puppet is to 
leave the arch off the package name.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/39e43216-c6da-481e-af56-58b31f1cd7b1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to