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 collection

Digging 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





Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Spacewalk-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-list

Reply via email to