← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1556100] [NEW] Naïvely assumes package upgrade command is "upgrade"; breaks package_upgrade on SLES

 

Public bug reported:

cc_package_update_upgrade_install.py assumes that for a package upgrade,
it can simply append the literal "upgrade" to the package_command in
order to effect a system package upgrade.

On SLES, this causes zypper to be invoked as "zypper --non-interactive
upgrade"; but zypper doesn't have an "upgrade" option. It's called
"update" instead, and for this to work, zypper would have to be called
as "zypper --non-interactive update".

In other words, given a cloud-config of

# cloud-config
package_update: true
package_upgrade: true

... the former will succeed and the latter will fail, which is not only
broken functionality but also highly unintuitive.

Suggestion: define a per-distro method named upgrade_packages, akin to
update_package_sources, and invoke that method rather than naïvely
appending "upgrade" to whatever the package_command has been determined
to be.

** Affects: cloud-init
     Importance: Undecided
         Status: New

** Summary changed:

- Naïvely assumes package upgrade command is "upgrade"; breaks updates on SLES
+ Naïvely assumes package upgrade command is "upgrade"; breaks package_upgrade on SLES

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1556100

Title:
  Naïvely assumes package upgrade command is "upgrade"; breaks
  package_upgrade on SLES

Status in cloud-init:
  New

Bug description:
  cc_package_update_upgrade_install.py assumes that for a package
  upgrade, it can simply append the literal "upgrade" to the
  package_command in order to effect a system package upgrade.

  On SLES, this causes zypper to be invoked as "zypper --non-interactive
  upgrade"; but zypper doesn't have an "upgrade" option. It's called
  "update" instead, and for this to work, zypper would have to be called
  as "zypper --non-interactive update".

  In other words, given a cloud-config of

  # cloud-config
  package_update: true
  package_upgrade: true

  ... the former will succeed and the latter will fail, which is not
  only broken functionality but also highly unintuitive.

  Suggestion: define a per-distro method named upgrade_packages, akin to
  update_package_sources, and invoke that method rather than naïvely
  appending "upgrade" to whatever the package_command has been
  determined to be.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1556100/+subscriptions


Follow ups