Bug #743

up2date provider issue

Added by ghislain - almost 5 years ago. Updated over 4 years ago.

Status:Closed Start date:
Priority:Normal Due date:
Assignee:Luke Kanies % Done:

0%

Category:-
Target version:-
Affected Puppet version:0.25.4 Branch:
Keywords:
Votes: 0

Description

hello,

i try to upgrade a package to last version using a simple:

package  { name: ensure => latest }

even if i use provider up2date it seems in the debug that puppet .22.4 is not upgrading the package. The package is not upgraded and stay at the very same version. Seems like a bug, as it use —show-available that only probs for NON installed package and miss all INSTALLED package ( —showall ). So the up2date provider should switch to —showall instaead of —show-available to search for the package version.

regards, Ghislain.

History

Updated by Luke Kanies almost 5 years ago

Can you provide a package name that has this problem, along with debug output for the run that should but doesn’t upgrade?

Updated by ghislain - almost 5 years ago

Ok,

lets see how up2date react, here we have several packages needing update, lets choose bind for the exemple:






(aqadmin)> sudo up2date -d -u

Fetching Obsoletes list for channel: rhel-i386-es-3...
########################################

Fetching rpm headers...
########################################

Name                                    Version        Rel
----------------------------------------------------------
bind                                    9.2.4          21.el3            i386
bind-chroot                             9.2.4          21.el3            i386
bind-libs                               9.2.4          21.el3            i386
bind-utils                              9.2.4          21.el3            i386
cups                                    1.1.17         13.3.45           i386
cups-libs                               1.1.17         13.3.45           i386
qt                                      3.1.2          16.RHEL3          i386
vsftpd                                  1.2.1          3E.14             i386


Testing package set / solving RPM inter-dependencies...
########################################
bind-9.2.4-21.el3.i386.rpm: ########################## Done.
bind-chroot-9.2.4-21.el3.i3 ########################## Done.
bind-libs-9.2.4-21.el3.i386 ########################## Done.
bind-utils-9.2.4-21.el3.i38 ########################## Done.
cups-1.1.17-13.3.45.i386.rp ########################## Done.
cups-libs-1.1.17-13.3.45.i3 ########################## Done.
qt-3.1.2-16.RHEL3.i386.rpm: ########################## Done.
vsftpd-1.2.1-3E.14.i386.rpm ########################## Done.

(aqadmin)> sudo up2date --show-available |grep bind
bind-devel-9.2.4-21.el3.i386

(aqadmin)> sudo up2date --showall | grep bind
bind-9.2.4-21.el3.i386
bind-chroot-9.2.4-21.el3.i386
bind-devel-9.2.4-21.el3.i386
bind-libs-9.2.4-21.el3.i386
bind-utils-9.2.4-21.el3.i386
redhat-config-bind-2.0.0-14.2.noarch
ypbind-1.12-5.21.10.i386

As you see, using —show-available it does not have any bind* package to update , it simply do not list them so puppet do not upgrade them to latest:

(aqadmin)> /usr/bin/sudo /usr/local/bin/puppetd --config /usr/local/.aqadmin/etc/puppetd.conf --onetime --test --debug|egrep -i 'package|up2date|bind'
debug: package provider sun: Not suitable: missing /usr/bin/pkginfo
debug: package provider openbsd: Not suitable: missing pkg_info
debug: package provider dpkg: Not suitable: missing /usr/bin/dpkg
debug: package provider rug: Not suitable: missing /usr/bin/rug
debug: package provider ports: Not suitable: missing /usr/sbin/pkg_info
debug: package provider aptrpm: Not suitable: missing /usr/bin/apt-get
debug: package provider apple: Not suitable: missing /Library/Receipts
debug: package provider sunfreeware: Not suitable: missing pkg-get
debug: package provider freebsd: Not suitable: missing /usr/sbin/pkg_info
debug: package provider yum: Not suitable: missing yum
debug: package provider blastwave: Not suitable: missing pkg-get
debug: package provider portage: Not suitable: missing /usr/bin/eix
debug: package provider darwinport: Not suitable: missing /opt/local/bin/port
debug: package provider apt: Not suitable: missing /usr/bin/apt-get
debug: package provider aptitude: Not suitable: missing /usr/bin/aptitude
debug: package provider pkgdmg: Not suitable: missing /Library/Receipts
debug: //eul0800079.eu.verio.net/majos/Cron[up2date-cron-maj]/require: requires User[aqadmin]
debug: //eul0800079.eu.verio.net/baseaqueos/Package[sudo]/before: requires User[aqadmin]
debug: //eul0800079.eu.verio.net/baseaqueos/Package[tcsh]/before: requires Group[aqusers]
debug: package provider up2date: Executing '/bin/rpm -q bind-libs --nosignature --nodigest --qf %{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}
debug: package provider up2date: Executing '/usr/sbin/up2date-nox --show-available'
debug: package provider up2date: Executing '/bin/rpm -q wireshark --nosignature --nodigest --qf %{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}
debug: package provider up2date: Executing '/bin/rpm -q sudo --nosignature --nodigest --qf %{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}
debug: package provider up2date: Executing '/bin/rpm -q nano --nosignature --nodigest --qf %{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}
debug: package provider up2date: Executing '/bin/rpm -q bind-utils --nosignature --nodigest --qf %{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}
debug: package provider up2date: Executing '/usr/sbin/up2date-nox --show-available'
debug: package provider up2date: Executing '/bin/rpm -q tcsh --nosignature --nodigest --qf %{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}

Updated by ghislain - over 4 years ago

i do not know if i was clear on this ticket.

For listing all the package available in up2date we do a: up2date-nox with the option

   --showall
          Show a list of all packages available from the channels the system is currently subscribed to, including those not currently installed.

but now the provider is using:

   --show-available
          List all packages available in the channels the server is subscribed to, but are not currently installed.

so you cannot update a package because show-available do not list the installed package. As it does not find it then it cannot update it :)

Does it sound clearer ?

Ghislain.

Updated by Luke Kanies over 4 years ago

  • Status changed from 1 to Closed
  • 7 set to fixed

Looks like this got fixed in commit:e8097a2fc1318829b31b4cb3e4b076db30696ef7.

Also available in: Atom PDF