I see in my overnight email spool: https://bugzilla.redhat.com/show_bug.cgi?id=726872
I am amused because this kind of request comes up time and time again with respect the package management system
It is technically _possible_ to attain this kind of rollbacks, in some tightly controlled environments [something like cell phone tower control computer applications, where there are essentially NO end users in the environment and the computer is acting like an embedded controller], but in the general case with many diverse and randomly maintained packages, each with their own assumptions as to how to maintain their run-time environments, it is 'not gonna happen'' (TM)
After deployment, User A will use postgresql or perhaps mysql to build a LAMP system. Updates will happen, and either pgsql or mysql will need to rebuild indices on the database store, because there has been a non-compatible bugfix, that is not backward compatible, or something to that effect. Because the database software authors have been burned, they have written documentation cautioning to take and test database backup dumps that may be reloaded, and and indeed also conversion testing scripts that actually attempt to do it 'behind the scenes'. The scripts are robust and will carp and bail if they run out of space, or otherwise fail other sanity checks.
But there is a design decision: is one 'polite' as to filesystem use and pollution, and NOT leave that intermediate dump behind; or is one paranoid and save and age several backups, both for this conversion and generally, because you (the database software author) have been berated by your use community for THEIR failure not to read the documentation and to heed the warning to take and test backups
[Those reading this will note certain parallels to rants by low-formality 'admins' who appear here from time to time -- just a random co-incidence, I am sure]
Then RPM has the reasonable design feature, quite intentionally, of providing access to the full, Turing complete which a shell prompt offers. Anconda does as well.
THAT can provide for dynamic repartitioning, filesystem type conversions, and so on ... How does one 'roll back' from such one-way operations?
The answer of course, is one cannot without 'out of the installation' backups
So I am amused that a person sees the RPM hammer, and thinks every problem looks like a nail, rather than, say, TESTING all variants, so there IS NO NEED for such a 'roll-back' capability; or running virtual instances so a 'prior backup' can be taken, the upgrade performed, and if problems show up -- no problem, just start the prior backup and the undesired 'upgrade' does not hurt at all
-- Russ herrold
On Saturday, July 30, 2011 10:37:37 AM R P Herrold wrote:
I see in my overnight email spool: https://bugzilla.redhat.com/show_bug.cgi?id=726872
I am amused because this kind of request comes up time and time again with respect the package management system
...
I had to check my calendar and make sure I wasn't re-living a conversation I had with jbj years ago....
RPM transactions are not ACID-compliant, and making them so would require a significant amount of work. Yum transactions are some better; but if the contents of a repo changes between say a 'yum update' that crashes mid-update, before performing the cleanups and some of the updates/installs, and a 'yum-complete-transaction' then the latter will fail, hard (the error is something like 'the transaction to run is different from the previous transaction'), and you're left with a system with issues. Had that happen preupgrading from F12 to F13 on one box.
While yum transactions do a reasonable job in the consistency and durability departments, the reliance on external repositories of packages breaks the isolation requirement of ACID; the fact that a crash during a yum update does not do a rollback/abort on the transaction and leaves the database and the filesystem in an inconsistent state destroys atomicity.
One partial solution to the bz is yum downgrade..... assuming the previous version of the package to rollback is still in the repos. Thus a local repo with all versions would be needed to be maintained by the customer that desires this feature...... or upstream's repo needs to keep all versions for arbitrary downgrades.
Or a transactional filesystem that can do atomic rollbacks at the lower level.....
Hey, at least the bug poster took the time to write it up nicely. Still impossible...
On Sat, 30 Jul 2011, R P Herrold wrote:
I see in my overnight email spool: https://bugzilla.redhat.com/show_bug.cgi?id=726872
---------------------------------------------------------------------- Jim Wildman, CISSP, RHCE jim@rossberry.com http://www.rossberry.net "Society in every state is a blessing, but Government, even in its best state, is a necessary evil; in its worst state, an intolerable one." Thomas Paine
On Sat, July 30, 2011 12:51, Jim Wildman wrote:
Hey, at least the bug poster took the time to write it up nicely. Still impossible...
git
On Tue, Aug 2, 2011 at 3:34 PM, James B. Byrne byrnejb@harte-lyne.ca wrote:
git
The software or the definition?