liedekef / spacewalk_scripts

Several spacewalk scripts
52 stars 25 forks source link

Support Inquiry - "not all packages are present" #36

Closed fermulator closed 7 years ago

fermulator commented 7 years ago

Does this state make sense to you?

Trying to debug it. I'm trying to get a Fedora security errata going. Fedora23 & Fedora25 work fine. But the Fedora24 channel is completely void of errata.

here's the rough invocation

> DEBUG: Called as /opt/spacewalk-errata/spacewalk_scripts/ya-errata-import.pl --server spacewalk.foo.come --redhat --security --publish --debug --channel fedora_24 --os-version 24 --architecture x86_64 --epel_errata /storage/errata/27e51bbfea3e2db9f0f1b64df77847744c7395c24fa98eb0f71746ec25980731-updateinfo.xml

Debugging (one example):

> INFO: Processing FEDORA-2017-8311440c55 (pcsc-lite-1.8.20-1.fc24)
> DEBUG: Good, errata FEDORA-2017-8311440c55:R24-64 does not yet exist in channel fedora_24
> DEBUG: Package: pcsc-lite-1.8.20-1.fc24.i686.rpm not found
> DEBUG: Package: pcsc-lite-devel-1.8.20-1.fc24.i686.rpm -> 58875
> DEBUG: Package: pcsc-lite-libs-1.8.20-1.fc24.i686.rpm -> 58879
> DEBUG: Package: pcsc-lite-1.8.20-1.fc24.x86_64.rpm -> 58874
> DEBUG: Package: pcsc-lite-devel-1.8.20-1.fc24.x86_64.rpm -> 58876
> DEBUG: Package: pcsc-lite-libs-1.8.20-1.fc24.x86_64.rpm -> 58878
> DEBUG: Package: pcsc-lite-doc-1.8.20-1.fc24.noarch.rpm -> 58877
> DEBUG: Package: pcsc-lite-1.8.20-1.fc24.armv7hl.rpm not found
> DEBUG: Package: pcsc-lite-devel-1.8.20-1.fc24.armv7hl.rpm not found
> DEBUG: Package: pcsc-lite-libs-1.8.20-1.fc24.armv7hl.rpm not found
> INFO: Skipping FEDORA-2017-8311440c55 since not all packages are present
> INFO:    this should be fixed by the next channel sync, or the errata is already superseded by another one

I've looked at the code, can't quite understand the situation. The foreach $package loop there... it /shouldn't include non x64 arch packages ... yet it is :-1:

>   # Check if the errata already exists
>   #eval {$getdetails = $client->call('errata.get_details', $session, $adv_name)};
>   if (!defined($existing_errata{$adv_name})) {
>     # Errata does not exist yet, good
>     debug("Good, errata $adv_name does not yet exist in channel $opt_channel\n");
> 
>     # Find package IDs mentioned in errata
>     my $all_found=1;
>     foreach $package ( @{$xml->{$advid}->{${opt_architecture}.'_packages'}} ) {
>       if (defined($name2id{$package})) {
>         # We found it, nice
>         #debug("Package: $package -> $name2id{$package} -> $name2channel{$package} \n");
>         debug("Package: $package -> $name2id{$package}\n");
>         push(@packages, $name2id{$package});
>       } else {
>         # No such package, too bad
>         debug("Package: $package not found\n");
>         $all_found=0;
>       }
>     }
> 
>     # Just in case ...
>     if ($all_found) {
>         @packages = uniq(@packages);
>     }
> 
>     # skip errata if not all packages are present
>     if (!$all_found) {
>         info("Skipping $advid since not all packages are present\n");
>         if (defined($xml->{$advid}->{'os_release'}) && ($xml->{$advid}->{'os_release'} != $opt_os_version)) {
>            info("   this is probably ok, since I think the OS version doesn't match what you wanted\n");
>         } else {
>            info("   this should be fixed by the next channel sync, or the errata is already superseded by another one\n");
>         }
>         next;
>     }
liedekef commented 7 years ago

Seems to me the errata itself includes those, and that it shouldn't be doing of course. For different architectures a different errata should be generated. I'll take a look at the code later on to make sure I don't said something wrong ... :-) Btw: parsing that specific errata here (or the url to it) might help too.

fermulator commented 7 years ago

You're right, the errata includes all architectures :( FEDORA-2017-8311440c55.txt

Ugh am I supposed to complain directly to Fedora now ? lol All of the errata has this problem it seems.

fermulator commented 7 years ago

This is the repo btw that Spacewalk syncs from; which is where the updateinfo.xml lives. https://mirrors.fedoraproject.org/metalink?repo=updates-released-f24&arch=x86_64

liedekef commented 7 years ago

It seems more and more xml errata are doing this, and I think I found a simple solution. Line 328 currently containts this: if ($pkg_info->{'arch'} ne 'src' && $pkg_info->{'filename'} !~ /src\.rpm$|debuginfo/) { I think by changing it to the following it would help you (and others): if ($pkg_info->{'arch'} eq $opt_architecture && $pkg_info->{'filename'} !~ /src\.rpm$|debuginfo/) {

Could you try that?

liedekef commented 7 years ago

@fermulator : any luck testing this change?

fermulator commented 7 years ago

---sorry will give it a go tmr!--- scratch that; been pulled for some critical things; will come back to it asap (probably slip it in some evening)

fermulator commented 7 years ago

OK so this was my HACK (as a workaround, for self-tracking purposes)

$ git diff ya-errata-import.pl
diff --git a/ya-errata-import.pl b/ya-errata-import.pl
index 2849c5c..be64995 100755
--- a/ya-errata-import.pl
+++ b/ya-errata-import.pl
@@ -1173,7 +1173,8 @@ foreach my $advid (sort(keys(%{$xml}))) {
       } else {
         # No such package, too bad
         debug("Package: $package not found\n");
-       $all_found=0;
+        debug("mcallaghan:HACK: don't bail, just try to force it");
+       #$all_found=0;
       }
     }

With my hack, system had:

So I deleted ALL errata from the system, to start fresh.

With your change:

$ git diff ya-errata-import.pl
diff --git a/ya-errata-import.pl b/ya-errata-import.pl
index 2849c5c..96c606b 100755
--- a/ya-errata-import.pl
+++ b/ya-errata-import.pl
@@ -325,7 +325,7 @@ sub parse_updatexml($) {
                 if (ref($pkg_info) ne "HASH") {
                         $pkg_info=$errata->{'pkglist'}->{'collection'}->{'package'};
                 }
-               if ($pkg_info->{'arch'} ne 'src' && $pkg_info->{'filename'} !~ /src\.rpm$|debuginfo/) {
+               if ($pkg_info->{'arch'} eq $opt_architecture && $pkg_info->{'filename'} !~ /src\.rpm$|debuginfo/) {
                        my $pkg_filename = $pkg_info->{'filename'};
                        push (@packages,$pkg_filename);

After re-executing errata imports with your proposed change, the system has:


So, no, that did not. If I re-apply my hack, the system imports ALL the errata again.

fermulator commented 7 years ago

Oh, wait, I forgot to import (pull) the branch/merge we did...

fermulator commented 7 years ago

So confused, suddenly now /every/ errata is bailing on:

INFO: Processing FEDORA-2017-e6a9108cce (onionshare-0.9.1-1.fc25)
INFO: Skipping errata FEDORA-2017-e6a9108cce (onionshare-0.9.1-1.fc25) -- No packages found
liedekef commented 7 years ago

Well, that's because it's a noarch package, and my change indeed would exclude those, so not a good change. Let me come up with a better if-statement

liedekef commented 7 years ago

Sorry to be using you as a test case, but could you try this if-statement (line 328 and below):

                # we don't care about src or debug rpm
                if ($pkg_info->{'arch'} ne 'src' && $pkg_info->{'filename'} !~ /src\.rpm$|debuginfo/) {
                        my $pkg_filename = $pkg_info->{'filename'};
                        # noarch rpm are for all architectures
                        # for the rest the arch in the errata should be equal to the arch desired
                        # unless for x86_64, there you can also have i686 rpms
                        if ($pkg_info->{'arch'} eq 'noarch' || $pkg_info->{'arch'} eq ${opt_architecture} ||
                            (${opt_architecture} eq "x86_64" && $pkg_info->{'arch'} eq "i686")) {
                                push (@packages,$pkg_filename);
                                debug("Errata $advid has package $pkg_filename\n");
                        }
                }
fermulator commented 7 years ago

First point. Before I even tried your change, suddenly (i hate magic) - my previous hacks were working again. There might be some sort of "errata comparison to packages" state that I do not understand.

Basically what I had done was:

  1. re-execute my previous hacks (confirmed no new work)
  2. deleted all errata
  3. applied your original patch
  4. re-ran; ALL Pkgs blah with "no package found" huh.
  5. reverted your patch, re-applied my hack
  6. re-ran; STILL, all pkgs blah with "no package found" ??

Waited two days...

  1. re-ran with my hacks again, tada it all works. OK that's weird.

Tried to repeat this scenario.

Once the import was complete (takes 10mins+), I deleted all errata in the system again to start fresh. Re-ran the script again to confirm that my hack can work repeatedly. - FAIL

(snip)
INFO: Skipping errata FEDORA-2017-403346d884 (libgit2-0.24.6-1.fc24) -- No packages found
INFO: Processing FEDORA-2017-59ca54c94e (bind-9.10.4-3.P5.fc24)
INFO: Skipping errata FEDORA-2017-59ca54c94e (bind-9.10.4-3.P5.fc24) -- No packages found
INFO: Processing FEDORA-2017-5d0871e3fd (boomaga-0.8.0-6.git97f52c1.fc24)
(snip)

It seems like there is some form of "state" which is stuck. Maybe I need to wait until the next channel/repo sync?

fermulator commented 7 years ago

RE https://github.com/liedekef/spacewalk_scripts/issues/36#issuecomment-274949222, I will try once I figure out how to get a repeatable test state.

fermulator commented 7 years ago

To confirm, it seems like one needs to re-run the repo-sync before being able to re-import errata using these scripts (possibly we should submit a new issue for that);

fermulator commented 7 years ago

OK! Re-executed with the diff you asked for:

$ git diff ya-errata-import.pl
diff --git a/ya-errata-import.pl b/ya-errata-import.pl
index e9d41ce..fe7a5f7 100755
--- a/ya-errata-import.pl
+++ b/ya-errata-import.pl
@@ -325,11 +325,18 @@ sub parse_updatexml($) {
                 if (ref($pkg_info) ne "HASH") {
                         $pkg_info=$errata->{'pkglist'}->{'collection'}->{'package'};
                 }
-               if ($pkg_info->{'arch'} ne 'src' && $pkg_info->{'filename'} !~ /src\.rpm$|debuginfo/) {
-                       my $pkg_filename = $pkg_info->{'filename'};
-                       push (@packages,$pkg_filename);
-                       debug("Errata $advid has package $pkg_filename\n");
-               }
+                # we don't care about src or debug rpm
+                if ($pkg_info->{'arch'} ne 'src' && $pkg_info->{'filename'} !~ /src\.rpm$|debuginfo/) {
+                        my $pkg_filename = $pkg_info->{'filename'};
+                        # noarch rpm are for all architectures
+                        # for the rest the arch in the errata should be equal to the arch desired
+                        # unless for x86_64, there you can also have i686 rpms
+                        if ($pkg_info->{'arch'} eq 'noarch' || $pkg_info->{'arch'} eq ${opt_architecture} ||
+                            (${opt_architecture} eq "x86_64" && $pkg_info->{'arch'} eq "i686")) {
+                                push (@packages,$pkg_filename);
+                                debug("Errata $advid has package $pkg_filename\n");
+                        }
+                }
        }
         if (!@packages) {
                debug("Skipping $advid, no packages for the corresponding arch\n");

Looks pretty good! Obviously not as many errata as I had previously (because my hack just dumped ALL of it, regardless of architecture sensibility/etc.)

This final number looks more reasonable. --> TOTAL=140 errata across fedora24 + fedora25 updates repos

TIP: I ran one initial invocation with debug (canceled it shortly though), here are a few snippets

INFO: Processing FEDORA-2016-2361e1e07a (cxf-3.1.6-3.fc25)
DEBUG: Good, errata FEDORA-2016-2361e1e07a:R25-64 does not yet exist in channel fedora_25
DEBUG: Package: cxf-rt-3.1.6-3.fc25.noarch.rpm -> 48790
DEBUG: Package: cxf-tools-3.1.6-3.fc25.noarch.rpm -> 48792
DEBUG: Package: cxf-maven-plugins-3.1.6-3.fc25.noarch.rpm -> 48789
DEBUG: Package: cxf-javadoc-3.1.6-3.fc25.noarch.rpm -> 48788
DEBUG: Package: cxf-3.1.6-3.fc25.noarch.rpm -> 48787
DEBUG: Package: cxf-services-3.1.6-3.fc25.noarch.rpm -> 48791
INFO: Creating errata FEDORA-2016-2361e1e07a:R25-64 for FEDORA-2016-2361e1e07a (cxf-3.1.6-3.fc25) (All 6 packages present in the corresponding channel)
Dump of errata that would be created:
$VAR1 = 'topic';
$VAR2 = 'fixes CVE-2016-6812 CVE-2016-8739 (rhbz#1406810,1406811,1406813)';
$VAR3 = 'advisory_name';
$VAR4 = 'FEDORA-2016-2361e1e07a:R25-64';
$VAR5 = 'description';
$VAR6 = 'fixes CVE-2016-6812 CVE-2016-8739 (rhbz#1406810,1406811,1406813)';
$VAR7 = 'solution';
$VAR8 = 'not available';
$VAR9 = 'advisory_type';
$VAR10 = 'Security Advisory';
$VAR11 = 'synopsis';
$VAR12 = 'cxf-3.1.6-3.fc25';
$VAR13 = 'notes';
$VAR14 = 'not available';
$VAR15 = 'references';
$VAR16 = '';
$VAR17 = 'advisory_release';
$VAR18 = 2;
$VAR19 = 'product';
$VAR20 = 'Fedora 25';
$VAR1 = '48788';
$VAR2 = '48790';
$VAR3 = '48787';
$VAR4 = '48792';
$VAR5 = '48789';
$VAR6 = '48791';
(snip)
INFO: Processing FEDORA-2016-26ef59f03d (libwebp-0.5.1-2.fc25)
DEBUG: Good, errata FEDORA-2016-26ef59f03d:R25-64 does not yet exist in channel fedora_25
DEBUG: Package: libwebp-devel-0.5.1-2.fc25.i686.rpm not found
DEBUG: Package: libwebp-0.5.1-2.fc25.i686.rpm not found
DEBUG: Package: libwebp-java-0.5.1-2.fc25.i686.rpm not found
DEBUG: Package: libwebp-tools-0.5.1-2.fc25.i686.rpm not found
DEBUG: Package: libwebp-java-0.5.1-2.fc25.x86_64.rpm not found
DEBUG: Package: libwebp-0.5.1-2.fc25.x86_64.rpm not found
DEBUG: Package: libwebp-devel-0.5.1-2.fc25.x86_64.rpm not found
DEBUG: Package: libwebp-tools-0.5.1-2.fc25.x86_64.rpm not found
INFO: Skipping FEDORA-2016-26ef59f03d since not all packages are present
INFO:    this should be fixed by the next channel sync, or the errata is already superseded by another one
(snip)
INFO: Skipping FEDORA-2017-bab5698540 since not all packages are present
INFO:    this should be fixed by the next channel sync, or the errata is already superseded by another one
INFO: Processing FEDORA-2017-c1ae4335e5 (pdns-recursor-4.0.4-1.fc25)
DEBUG: Good, errata FEDORA-2017-c1ae4335e5:R25-64 does not yet exist in channel fedora_25
DEBUG: Package: pdns-recursor-4.0.4-1.fc25.i686.rpm not found
DEBUG: Package: pdns-recursor-4.0.4-1.fc25.x86_64.rpm -> 61943
INFO: Skipping FEDORA-2017-c1ae4335e5 since not all packages are present
INFO:    this should be fixed by the next channel sync, or the errata is already superseded by another one
INFO: Processing FEDORA-2017-c629f16f6c (subversion-1.9.5-1.fc25)
DEBUG: Good, errata FEDORA-2017-c629f16f6c:R25-64 does not yet exist in channel fedora_25
DEBUG: Package: subversion-perl-1.9.5-1.fc25.i686.rpm -> 50838
DEBUG: Package: subversion-libs-1.9.5-1.fc25.i686.rpm -> 50836
DEBUG: Package: subversion-devel-1.9.5-1.fc25.i686.rpm -> 50828
DEBUG: Package: subversion-ruby-1.9.5-1.fc25.i686.rpm -> 50841
DEBUG: Package: subversion-javahl-1.9.5-1.fc25.i686.rpm -> 50833
DEBUG: Package: subversion-python-1.9.5-1.fc25.i686.rpm not found
DEBUG: Package: subversion-gnome-1.9.5-1.fc25.i686.rpm -> 50830
DEBUG: Package: mod_dav_svn-1.9.5-1.fc25.i686.rpm not found
DEBUG: Package: subversion-tools-1.9.5-1.fc25.i686.rpm not found
DEBUG: Package: subversion-kde-1.9.5-1.fc25.i686.rpm -> 50834
DEBUG: Package: subversion-1.9.5-1.fc25.i686.rpm -> 50826
DEBUG: Package: subversion-kde-1.9.5-1.fc25.x86_64.rpm -> 50835
DEBUG: Package: subversion-javahl-1.9.5-1.fc25.x86_64.rpm -> 50832
DEBUG: Package: subversion-devel-1.9.5-1.fc25.x86_64.rpm -> 50829
DEBUG: Package: subversion-libs-1.9.5-1.fc25.x86_64.rpm -> 50837
DEBUG: Package: subversion-1.9.5-1.fc25.x86_64.rpm -> 50827
DEBUG: Package: subversion-python-1.9.5-1.fc25.x86_64.rpm -> 50840
DEBUG: Package: subversion-tools-1.9.5-1.fc25.x86_64.rpm -> 50843
DEBUG: Package: subversion-perl-1.9.5-1.fc25.x86_64.rpm -> 50839
DEBUG: Package: subversion-gnome-1.9.5-1.fc25.x86_64.rpm -> 50831
DEBUG: Package: mod_dav_svn-1.9.5-1.fc25.x86_64.rpm -> 50778
DEBUG: Package: subversion-ruby-1.9.5-1.fc25.x86_64.rpm -> 50842
INFO: Skipping FEDORA-2017-c629f16f6c since not all packages are present
INFO:    this should be fixed by the next channel sync, or the errata is already superseded by another one
fermulator commented 7 years ago

It's not exactly clear what SHOULD happen in all cases. :(

liedekef commented 7 years ago

Only errata with all relevant packages in spacewalk should be created in spacewalk, otherwise you can't start pushing that errata to your servers. And just pushing the errata without the packages present would create some kind of errata with no packages linked to it, so in fact an invalid errata. Now also the architecture needs to be taken into account, so normally errata are only published for the relevant architecture (with the exception of 'noarch' and 'i686' for x86_64 architectures). But it seems fedora just pushes all errata into 1 file, so the logic needed hardening. So I believe my change is working ok now.

fermulator commented 7 years ago

I agree; I think your fix is working. (or - at least has improved the situation for these causes)

One last inquiry about these types of messages, what do they mean?

INFO: Processing FEDORA-2016-9b83c6862d (community-mysql-5.7.17-1.fc25)
INFO: Skipping FEDORA-2016-9b83c6862d since not all packages are present
INFO:    this should be fixed by the next channel sync, or the errata is already superseded by another one

Maybe the error message should be ".. since no relevant packages are present in the channel."

Also the subsequent INFO message is slightly misleading right?

Slightly awkward ... is that the package it "skipped", is actually present, with exactly the architecture of concern

community-mysql-5.7.17-1.fc25.x86_64    MySQL client programs and shared libraries  Unknown
community-mysql-common-5.7.17-1.fc25.i686   The shared files required for MySQL server and client   Unknown
community-mysql-common-5.7.17-1.fc25.x86_64     The shared files required for MySQL server and client   Unknown
community-mysql-devel-5.7.17-1.fc25.i686    Files for development of MySQL applications     Unknown
community-mysql-devel-5.7.17-1.fc25.x86_64  Files for development of MySQL applications     Unknown
community-mysql-embedded-5.7.17-1.fc25.i686     MySQL as an embeddable library  Unknown
community-mysql-embedded-5.7.17-1.fc25.x86_64   MySQL as an embeddable library  Unknown
community-mysql-embedded-devel-5.7.17-1.fc25.i686   Development files for MySQL as an embeddable library    Unknown
community-mysql-embedded-devel-5.7.17-1.fc25.x86_64     Development files for MySQL as an embeddable library    Unknown
community-mysql-errmsg-5.7.17-1.fc25.i686   The error messages files required by server and embedded    Unknown
community-mysql-errmsg-5.7.17-1.fc25.x86_64     The error messages files required by server and embedded    Unknown
community-mysql-libs-5.7.17-1.fc25.i686     The shared libraries required for MySQL clients     Unknown
community-mysql-libs-5.7.17-1.fc25.x86_64   The shared libraries required for MySQL clients     Unknown
community-mysql-server-5.7.17-1.fc25.x86_64     The MySQL server and related files  Unknown
community-mysql-test-5.7.17-1.fc25.x86_64   The test suite distributed with MySQL   Unknown 

Here's the errata as example

  <update from="updates@fedoraproject.org" status="stable" type="security" version="2.0">
    <id>FEDORA-2016-9b83c6862d</id>
    <title>community-mysql-5.7.17-1.fc25</title>
    <issued date="2016-12-27 02:38:52"/>
    <rights>Copyright (C) 2015 Red Hat, Inc. and others.</rights>
    <release>Fedora 25</release>
    <summary>community-mysql-5.7.17-1.fc25 security update</summary>
    <description>* Mon Dec 12 2016 Norvald H. Ryeng &lt;norvald.ryeng@oracle.com&gt; - 5.7.17-1
- Update to MySQL 5.7.17, for various fixes described at
  https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-17.html
- Add new plugin: connnection_control.so
- Add MySQL Group Replication: group_replication.so
- Add numactl-devel to buildreq and enable NUMA support (if available)
- Simplify boost path
- Build compat-openssl10 in rawhide for now
- Reqs. in -devel packages was incomplete
</description>
    <references>
      <reference href="https://bugzilla.redhat.com/show_bug.cgi?id=1386607" id="1386607" type="bugzilla" title="CVE-2016-3492 CVE-2016-5507 CVE-2016-5609 CVE-2016-5612 CVE-2016-5616 CVE-2016-5617 CVE-2016-5626 CVE-2016-5627 CVE-2016-5629 CVE-2016-5630 CVE-2016-8283 CVE-2016-8284 CVE-2016-8288 community-mysql: various flaws [fedora-all]"/>
      <reference href="https://bugzilla.redhat.com/show_bug.cgi?id=1342308" id="1342308" type="bugzilla" title="community-mysql-5.7.17 is available"/>
    </references>
    <pkglist>
      <collection short="F25">
        <name>Fedora 25</name>
        <package name="community-mysql-embedded" version="5.7.17" release="1.fc25" epoch="0" arch="i686" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/i386/c/community-mysql-embedded-5.7.17-1.fc25.i686.rpm">
          <filename>community-mysql-embedded-5.7.17-1.fc25.i686.rpm</filename>
        </package>
        <package name="community-mysql-embedded-devel" version="5.7.17" release="1.fc25" epoch="0" arch="i686" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/i386/c/community-mysql-embedded-devel-5.7.17-1.fc25.i686.rpm">
          <filename>community-mysql-embedded-devel-5.7.17-1.fc25.i686.rpm</filename>
        </package>
        <package name="community-mysql-server" version="5.7.17" release="1.fc25" epoch="0" arch="i686" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/i386/c/community-mysql-server-5.7.17-1.fc25.i686.rpm">
          <filename>community-mysql-server-5.7.17-1.fc25.i686.rpm</filename>
        </package>
        <package name="community-mysql-devel" version="5.7.17" release="1.fc25" epoch="0" arch="i686" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/i386/c/community-mysql-devel-5.7.17-1.fc25.i686.rpm">
          <filename>community-mysql-devel-5.7.17-1.fc25.i686.rpm</filename>
        </package>
        <package name="community-mysql-libs" version="5.7.17" release="1.fc25" epoch="0" arch="i686" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/i386/c/community-mysql-libs-5.7.17-1.fc25.i686.rpm">
          <filename>community-mysql-libs-5.7.17-1.fc25.i686.rpm</filename>
        </package>
        <package name="community-mysql" version="5.7.17" release="1.fc25" epoch="0" arch="i686" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/i386/c/community-mysql-5.7.17-1.fc25.i686.rpm">
          <filename>community-mysql-5.7.17-1.fc25.i686.rpm</filename>
        </package>
        <package name="community-mysql-common" version="5.7.17" release="1.fc25" epoch="0" arch="i686" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/i386/c/community-mysql-common-5.7.17-1.fc25.i686.rpm">
          <filename>community-mysql-common-5.7.17-1.fc25.i686.rpm</filename>
        </package>
        <package name="community-mysql-errmsg" version="5.7.17" release="1.fc25" epoch="0" arch="i686" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/i386/c/community-mysql-errmsg-5.7.17-1.fc25.i686.rpm">
          <filename>community-mysql-errmsg-5.7.17-1.fc25.i686.rpm</filename>
        </package>
        <package name="community-mysql-test" version="5.7.17" release="1.fc25" epoch="0" arch="i686" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/i386/c/community-mysql-test-5.7.17-1.fc25.i686.rpm">
          <filename>community-mysql-test-5.7.17-1.fc25.i686.rpm</filename>
        </package>
        <package name="community-mysql-debuginfo" version="5.7.17" release="1.fc25" epoch="0" arch="i686" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/i386/c/community-mysql-debuginfo-5.7.17-1.fc25.i686.rpm">
          <filename>community-mysql-debuginfo-5.7.17-1.fc25.i686.rpm</filename>
        </package>
        <package name="community-mysql-server" version="5.7.17" release="1.fc25" epoch="0" arch="x86_64" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/x86_64/c/community-mysql-server-5.7.17-1.fc25.x86_64.rpm">
          <filename>community-mysql-server-5.7.17-1.fc25.x86_64.rpm</filename>
        </package>
        <package name="community-mysql-errmsg" version="5.7.17" release="1.fc25" epoch="0" arch="x86_64" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/x86_64/c/community-mysql-errmsg-5.7.17-1.fc25.x86_64.rpm">
          <filename>community-mysql-errmsg-5.7.17-1.fc25.x86_64.rpm</filename>
        </package>
        <package name="community-mysql-embedded" version="5.7.17" release="1.fc25" epoch="0" arch="x86_64" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/x86_64/c/community-mysql-embedded-5.7.17-1.fc25.x86_64.rpm">
          <filename>community-mysql-embedded-5.7.17-1.fc25.x86_64.rpm</filename>
        </package>
        <package name="community-mysql-common" version="5.7.17" release="1.fc25" epoch="0" arch="x86_64" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/x86_64/c/community-mysql-common-5.7.17-1.fc25.x86_64.rpm">
          <filename>community-mysql-common-5.7.17-1.fc25.x86_64.rpm</filename>
        </package>
        <package name="community-mysql-libs" version="5.7.17" release="1.fc25" epoch="0" arch="x86_64" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/x86_64/c/community-mysql-libs-5.7.17-1.fc25.x86_64.rpm">
          <filename>community-mysql-libs-5.7.17-1.fc25.x86_64.rpm</filename>
        </package>
        <package name="community-mysql-debuginfo" version="5.7.17" release="1.fc25" epoch="0" arch="x86_64" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/x86_64/c/community-mysql-debuginfo-5.7.17-1.fc25.x86_64.rpm">
          <filename>community-mysql-debuginfo-5.7.17-1.fc25.x86_64.rpm</filename>
        </package>
        <package name="community-mysql-embedded-devel" version="5.7.17" release="1.fc25" epoch="0" arch="x86_64" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/x86_64/c/community-mysql-embedded-devel-5.7.17-1.fc25.x86_64.rpm">
          <filename>community-mysql-embedded-devel-5.7.17-1.fc25.x86_64.rpm</filename>
        </package>
        <package name="community-mysql-test" version="5.7.17" release="1.fc25" epoch="0" arch="x86_64" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/x86_64/c/community-mysql-test-5.7.17-1.fc25.x86_64.rpm">
          <filename>community-mysql-test-5.7.17-1.fc25.x86_64.rpm</filename>
        </package>
        <package name="community-mysql-devel" version="5.7.17" release="1.fc25" epoch="0" arch="x86_64" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/x86_64/c/community-mysql-devel-5.7.17-1.fc25.x86_64.rpm">
          <filename>community-mysql-devel-5.7.17-1.fc25.x86_64.rpm</filename>
        </package>
        <package name="community-mysql" version="5.7.17" release="1.fc25" epoch="0" arch="x86_64" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/x86_64/c/community-mysql-5.7.17-1.fc25.x86_64.rpm">
          <filename>community-mysql-5.7.17-1.fc25.x86_64.rpm</filename>
        </package>
        <package name="community-mysql-embedded-devel" version="5.7.17" release="1.fc25" epoch="0" arch="armv7hl" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/armv7hl/c/community-mysql-embedded-devel-5.7.17-1.fc25.armv7hl.rpm">
          <filename>community-mysql-embedded-devel-5.7.17-1.fc25.armv7hl.rpm</filename>
        </package>
        <package name="community-mysql-devel" version="5.7.17" release="1.fc25" epoch="0" arch="armv7hl" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/armv7hl/c/community-mysql-devel-5.7.17-1.fc25.armv7hl.rpm">
          <filename>community-mysql-devel-5.7.17-1.fc25.armv7hl.rpm</filename>
        </package>
        <package name="community-mysql-libs" version="5.7.17" release="1.fc25" epoch="0" arch="armv7hl" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/armv7hl/c/community-mysql-libs-5.7.17-1.fc25.armv7hl.rpm">
          <filename>community-mysql-libs-5.7.17-1.fc25.armv7hl.rpm</filename>
        </package>
        <package name="community-mysql-server" version="5.7.17" release="1.fc25" epoch="0" arch="armv7hl" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/armv7hl/c/community-mysql-server-5.7.17-1.fc25.armv7hl.rpm">
          <filename>community-mysql-server-5.7.17-1.fc25.armv7hl.rpm</filename>
        </package>
        <package name="community-mysql-test" version="5.7.17" release="1.fc25" epoch="0" arch="armv7hl" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/armv7hl/c/community-mysql-test-5.7.17-1.fc25.armv7hl.rpm">
          <filename>community-mysql-test-5.7.17-1.fc25.armv7hl.rpm</filename>
        </package>
        <package name="community-mysql-debuginfo" version="5.7.17" release="1.fc25" epoch="0" arch="armv7hl" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/armv7hl/c/community-mysql-debuginfo-5.7.17-1.fc25.armv7hl.rpm">
          <filename>community-mysql-debuginfo-5.7.17-1.fc25.armv7hl.rpm</filename>
        </package>
        <package name="community-mysql-common" version="5.7.17" release="1.fc25" epoch="0" arch="armv7hl" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/armv7hl/c/community-mysql-common-5.7.17-1.fc25.armv7hl.rpm">
          <filename>community-mysql-common-5.7.17-1.fc25.armv7hl.rpm</filename>
        </package>
        <package name="community-mysql-embedded" version="5.7.17" release="1.fc25" epoch="0" arch="armv7hl" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/armv7hl/c/community-mysql-embedded-5.7.17-1.fc25.armv7hl.rpm">
          <filename>community-mysql-embedded-5.7.17-1.fc25.armv7hl.rpm</filename>
        </package>
        <package name="community-mysql" version="5.7.17" release="1.fc25" epoch="0" arch="armv7hl" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/armv7hl/c/community-mysql-5.7.17-1.fc25.armv7hl.rpm">
          <filename>community-mysql-5.7.17-1.fc25.armv7hl.rpm</filename>
        </package>
        <package name="community-mysql-errmsg" version="5.7.17" release="1.fc25" epoch="0" arch="armv7hl" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/armv7hl/c/community-mysql-errmsg-5.7.17-1.fc25.armv7hl.rpm">
          <filename>community-mysql-errmsg-5.7.17-1.fc25.armv7hl.rpm</filename>
        </package>
        <package name="community-mysql" version="5.7.17" release="1.fc25" epoch="0" arch="src" src="https://download.fedoraproject.org/pub/fedora/linux/updates/25/SRPMS/c/community-mysql-5.7.17-1.fc25.src.rpm">
          <filename>community-mysql-5.7.17-1.fc25.src.rpm</filename>
        </package>
      </collection>
    </pkglist>
  </update>
liedekef commented 7 years ago

The INFO messages are correct: "not all packages are present" because not all are present (as in "some are, some are not"). Adding the word relevant there would be mute ... The second INFO line is also correct: "this should be fixed by the next channel sync, or the errata is already superseded by another one". Reason: sometimes your sync failed, or you missed a week, etc ... The errata in the fedora xml will stay, but the files are no longer present since you missed your sync for some reason. Idem for "by the next channel sync": sometimes you parse the errata but not yet synced the repo ...

Concerning your mysql errata: which ones did it say were not present? Your list of mysql packages doesn't contain for example "community-mysql-server-5.7.17-1.fc25.i686.rpm"

fermulator commented 7 years ago

In my case, the system, daily: @ 1:00AM, repo syncs @ 2:30AM, imports errata from a saved local version of updateinfo.xml of the previous repo-sync

So the first INFO, could be applicable. But I don't understand how the 2nd one "next channel sync" is ever possible in my scenario.

liedekef commented 7 years ago

Imagine you do an initial sync and errata import: the repo to sync from only contains the latest packages but still holds all old errata too (which maybe can't be applied anymore since newer package versions might be in the repo).

fermulator commented 7 years ago

Closed but no code change?

Aren't we OK with the patch we tested?

liedekef commented 7 years ago

The patch is already in.