[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: RPM's that fail in %post...
- From: Jeff Johnson <jbj redhat com>
- To: rpm-list redhat com
- Subject: Re: RPM's that fail in %post...
- Date: Thu, 16 Jan 2003 09:16:34 -0500
On Wed, Jan 15, 2003 at 09:38:39PM -0500, James Olin Oden wrote:
> > > version of B, but it does not. I would say this is a bonified
> > > bug, that would effectively make the use of the transactional
> > > rollback useless to us.
> >
> > The only answer atm is to make sure your packages don't partially install.
> >
> > For the case you mention, failure of %post, this is trivially tested
> > by installing the package into a chroot or on another system first to
> > detect the %post packaging failure before you start upgrading lots of
> > systems.
> >
> While performing the tests you suggest is par for the course, that does not
> solve the problem of the test case you miss. Testers and developers
> try very hard to test packages, but inevitably a bug gets through. If
> you are in a telco environment where a rollback/backout is mandated
> it is not an option to write code that does not prepare for a partially
> installed package.
>
> Also, while I agree that RPM cannot do everything, I would expect in the
> above scenario that the package that did get installed properly would be
> able to be rolled back. I would not necesarily think that the partially
> installed package would do the same.
I don't disagree, but rpm, and particularly rpm-4.0.4, is nowhere near
a complete, functional, robust --rollback implementation on the CLI.
I have never claimed otherwise.
> > >
> > > Just so you know I am using rpm 4.0.4 on Advanced Server 2.1.
> >
> > Again, the --rollback option in rpm-4.0.4 requires absolutely perfect
> > system administration, and is mostly mechanism, not policy.
> >
> Which we take great pains to ensure on or systems, but the fact is
> eventually something slips through, and we have to code for that
> eventuallity. Essentially this leaves us with two backout methods:
>
> - If rpm returned with an error, do a manual unravelling of the
> transaction (i.e. uninstall the rpm's in the manifest that
> actually where installed, and resinstall the older versions).
> - If rpm returned without error, we can use rpm's --rollback
> option at a later date.
>
> Its not very pretty. I would much rather RPM rollback what was installed
> properly in the transaction, and then we only have to clean up (probably
> by hand) the mess left over from the partial packages.
>
> The bottome line is I believe this is a bug in the rollback feature that
> makes it mostly useless to us.
>
> > There's somewhat better policy in latest up2date code, but it's gonna be
> > a while before --rollback is robust.
> >
> And of coruse up2date does not operate from a CDROM environment, and requires
> some interaction with a database accross a network. This is not an option
> for most of our customers.
I pointed you at up2date code because you were asking about python bindings
and want better rollback policies implemented. Whether up2date supports CDROM
installs is a different matter.
The policies (some of which were suggested by you) will be back ported to
the rpm CLI after gaining experience with rollbacks through up2date.
73 de Jeff
--
Jeff Johnson ARS N3NPQ
jbj@redhat.com (jbj@jbj.org)
Chapel Hill, NC
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[]