Puppet: System Administration Automated

Support

Ticket #743 (closed defect: fixed)

Opened 1 year ago

Last modified 1 year ago

up2date provider issue

Reported by: ghislain Assigned to: luke
Priority: normal Milestone:
Component: types Version: 0.22.4
Severity: normal Keywords: up2date package
Cc: Triage Stage: Needs more info
Attached Patches: None Complexity: Unknown

Description (Last modified by luke)

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.

Change History

08/01/07 00:10:50 changed by luke

  • description changed.
  • stage changed from Unreviewed to Needs more info.

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

08/01/07 07:46:04 changed by ghislain

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}

10/09/07 09:37:28 changed by ghislain

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.

11/24/07 05:57:47 changed by luke

  • status changed from new to closed.
  • resolution set to fixed.

Looks like this got fixed in [e8097a2fc1318829b31b4cb3e4b076db30696ef7].