Am 30.08.2017 um 15:33 schrieb Lichtinger, Bernhard:
Hello,I see a strange behavior of spacewalk using spacewalk-manage-channel-lifecycle: Everytime I promote a channel all erratas which source and destination channel have in common are removed from the source channel. For example: source channel has 4 (newer) errata more than the destination channel. Then after running "spacewalk-manage-channel-lifecycle -c source_channel --promote" my destination channel has all old errata plus the 4 new ones, but my source channel has only the 4 new errata left. The rpm packages in each channel are still linked to the errata, but the source channel looses all "old" erratas. It happens with all my channels, RHEL-6,7 and SLES-11,12. I have spacewalk-2.6 on centos-7. I can also reproduce the behavior on my test machine with spacewalk-2.6 on centos-6: I have 2 phases for spacewalk-manage-channel-lifecycle defined: test and prod. So I have 3 baselines of channels: daily (is synced daily with upstream repos), test and prod. For a fresh start I clear all erratas from the database: rhnschema=# truncate rhnErrata CASCADE;; After a full sync of daily with upstream repo, errata count for my channels: daily: 590 test: 0 prod: 0 After "spacewalk-manage-channel-lifecycle -c daily --promote" errata count for my channels: daily: 590 test: 590 prod: 0 After "spacewalk-manage-channel-lifecycle -c test --promote" errata count for my channels: daily: 590 test: 590 prod: 590 So far everything is ok. Now I after a second "spacewalk-manage-channel-lifecycle -c daily --promote" errata count for my channels: daily: 0 test: 590 prod: 590 And after a second "spacewalk-manage-channel-lifecycle -c test --promote" errata count for my channels: daily: 0 test: 0 prod: 590 With the next sync of daily with upstream daily gets again all erratas: daily: 590 test: 0 prod: 590 And this cycle can go on and on. I am not sure, but I think this started after the upgrade from 2.5 to 2.6, but I could not find any relevant changes in the source code of the channel.software.mergeErrata API call. This is all code which was not touched in recent times. So, is this a bug in spacewalk or did I only break my installations?
Hi,i did some more debugging, and when turning on hibernate logging i see a delete command, that seems to be responsible for deleting erratas in this case:
[2017-09-05 17:44:44,128] DEBUG - Pre-invalidating space [rhnChannelErrata][2017-09-05 17:44:44,128] DEBUG - Deleting collection: [com.redhat.rhn.domain.channel.Channel.erratas#212] [2017-09-05 17:44:44,128] DEBUG - about to open PreparedStatement (open PreparedStatements: 0, globally: 0) [2017-09-05 17:44:44,128] DEBUG - delete from rhnChannelErrata where channel_id=? [2017-09-05 17:44:44,128] DEBUG - delete from rhnChannelErrata where channel_id=?
[2017-09-05 17:44:44,130] DEBUG - done deleting collectionDigging in spacewalks source i could not find many changes in 2.6 that can be responsible for that. One candidate is commit 95345b58a86b134084bcc5a8c07ae452f1574670 from Tomas Lestach, but i do not fully understand the code, so probably Tomas or another one can have a look at our issue? If you need more logs, we can send them.
Thanks Florian
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Spacewalk-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/spacewalk-list
