Bug #743
up2date provider issue
| Status: | Closed | Start date: | ||
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % 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.