Ticket #941 (closed defect: fixed)

Opened 13 years ago

Last modified 12 years ago

Incomplete information for entry Package:gpg-pubkey; cannot verify

Reported by: jjneely Owned by: desai
Priority: minor Milestone: Bcfg2 1.1.0 Release
Component: bcfg2-client Version: 1.0
Keywords: Cc:


Several folks have complained about the following error message with gpg-pubkeys and the new YUMng:

Incomplete information for entry Package:gpg-pubkey; cannot verify
        ... due to absence of version attribute(s)

which can be followed by a traceback:

YUMng.Install() call failed:
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/Bcfg2/Client/", line 303, in DispatchInstallCalls
    tool.Install(handled, self.states)
  File "/usr/lib/python2.6/site-packages/Bcfg2/Client/Tools/", line 734, in Install
    status = self.instance_status[inst]
KeyError: <Element Instance at 1c64440>

Folks are getting this by following the documented way of specifying gpg keys like this:

 <BoundPackage name='gpg-pubkey' type="rpm">

    <!-- The Realm Linux RPM signing key GPG v1.2.1 -->
    <Instance simplefile='/etc/pki/rpm-gpg/RPM-GPG-KEY-RealmLinux-0' 
      version='b274beb2' release='4283a289'/>

    <!-- Red Hat's signing key for Beta products -->
    <Instance simplefile='/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta-2'
      version='f21541eb' release='4a5233e7'/>

    <!-- Red Hat's current RPM signing key -->
    <Instance simplefile='/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release'
      version='37017186' release='45761324'/>

    <!-- CentOS5: Required for compatibility with CentOS 5 RL bases -->
    <Instance simplefile='/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5'
      version='e8562897' release='459f07a4'/>

    <!-- Used with RHEL4 products and below -->
    <Instance simplefile='/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-former'
      version='db42a60e' release='37ea5438'/>


Problems so far: Even though YUMng is handling this still, the type should be set to "yum" not "rpm" although that does not fix the above.

This produces the following in the XML sent to the client:

 <Package name="gpg-pubkey" type="rpm">

The gpg-pubkeys work if they are specified as a Package rather than a BoundPackage?. Removing the type and changing the above specification to Package yields the following XML sent to the client:

 <Package name="gpg-pubkey" type="yum" version="auto">

With the version key set in the package, the default canVerify() method succedes. The canVerify() method checks YUMng.__req__ which specifies both name and version attributes for the Package tag.

So, what's the right fix. Documentation updates relevant to the new YUMng driver need to happen. I'd like some help in getting that done. We can just use the normal Package tags for gpg-pubkeys and document that. Secondly, the minimum information YUMng needs to verify a packages is its name, so we can remove version from YUMng.__req__.


Change History

comment:1 Changed 13 years ago by solj

  • Milestone changed from Bcfg2 1.1.0 Release to Bcfg2 1.1.1 Release (Bugfix)

comment:2 Changed 13 years ago by jjneely

I've removed 'version' from YUMng.req that did make the 1.1.0 release.

comment:3 Changed 12 years ago by solj

  • Status changed from new to closed
  • Resolution set to fixed
  • Milestone changed from Bcfg2 1.1.1 Release (Bugfix) to Bcfg2 1.1.0 Release

WARNING! You need to establish a session before you can create or edit tickets. Otherwise the ticket will get treated as spam.


Add a comment

Modify Ticket

Change Properties
<Author field>
as closed
The resolution will be deleted. Next status will be 'reopened'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.