canonical/cloud-init

package-update-upgrade-install does not update when run with --frequency=always

Open

#3,218 opened on May 11, 2023

 (7 comments) (0 reactions) (0 assignees)Python (1,108 forks)auto 404
buggood first issuehacktoberfestlaunchpad

Repository metrics

Stars
 (3,772 stars)
PR merge metrics
 (PR metrics pending)

Description

This bug was originally filed in Launchpad as LP: #1785225

Launchpad user Sirio Balmelli(siriobalmelli) wrote on 2018-08-03T11:12:56.923746+00:00

  1. The following stanzas in /etc/cloud/cloud.cfg:
cloud_final_modules:
  # always update+upgrade on boot
  - [package-update-upgrade-install, always]

packages:  # will run apt-update
  - git
package_update: true
package_upgrade: true
package_reboot_if_required: true
  1. Result in the following log entry at boot-time:
helpers.py[DEBUG]: update-sources already ran (freq=once-per-instance)
  1. Running the module manually with:
sudo cloud-init single --name package-update-upgrade-install --frequency always

... also fails to call apt-get update

  1. Google gives no results.
  1. Attempted guess at "update-sources" fails:
sudo cloud-init single --name update-sources --frequency always
  1. Expected behavior is that apt-get update is executed before apt-get install every time the machine is booted. On my system the install looks like:
['eatmydata', 'apt-get', '--option=Dpkg::Options::=--force-confold', '--option=Dpkg::options::=--force-unsafe-io', '--assume-yes', '--quiet', 'install', 'git']
  1. Alternate behavior would be a way to explicitly request that an update be performed. This was attempted/guessed-at with:
cloud_config_modules:
  - [apt-configure, always]

But did not obtain an update. There seem to be no other applicable modules listed in https://cloudinit.readthedocs.io/en/latest/topics/modules.html#

  1. Environment:
  • Ubuntu 16.04.5 LTS
  • /usr/bin/cloud-init 18.2
  1. /etc/cloud/cloud.cfg

cloud_init_modules:   - seed_random   - bootcmd   - set_hostname   - update_hostname   - update_etc_hosts   - ca-certs   - rsyslog   - users-groups   - ssh

cloud_config_modules:   - emit_upstart   - ssh-import-id   - locale   - set-passwords   - grub-dpkg   - timezone   - [apt-configure, always]   - [runcmd, always] # doesn't actually EXECUTE the modules - that's left for scripts-user :P

cloud_final_modules:   - landscape   - lxd   - ssh-authkey-fingerprints   - final-message   - power-state-change   - [package-update-upgrade-install, always]   - [scripts-user, always]

system_info:   distro: ubuntu   paths:     cloud_dir: /var/lib/cloud/     templates_dir: /etc/cloud/templates/     upstart_dir: /etc/init/   ssh_svcname: ssh

disable_root: true

datasource_list: [NoCloud, None]

preserve_hostname: false hostname: {hostname} manage_etc_hosts: true

apt:   preserve_sources_list: false   primary:     - arches:         - amd64         - i386         - default       uri: "http://archive.ubuntu.com/ubuntu/"       search:         - "http://ch.archive.ubuntu.com/ubuntu"         - "http://us.archive.ubuntu.com/ubuntu"       search_dns: true   security:     - arches:         - amd64         - i386         - default       uri: "http://security.ubuntu.com/ubuntu/"       search_dns: true   # (custom PPAs elided)   sources_list: |     deb http://archive.ubuntu.com/ubuntu/ xenial main restricted     deb-src http://archive.ubuntu.com/ubuntu/ xenial main restricted     deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted     deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted     deb http://archive.ubuntu.com/ubuntu/ xenial universe     deb-src http://archive.ubuntu.com/ubuntu/ xenial universe     deb http://archive.ubuntu.com/ubuntu/ xenial-updates universe     deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates universe     deb http://archive.ubuntu.com/ubuntu/ xenial multiverse     deb-src http://archive.ubuntu.com/ubuntu/ xenial multiverse     deb http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse     deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse     deb http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse     deb-src http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse     deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted     deb-src http://security.ubuntu.com/ubuntu/ xenial-security main restricted     deb http://security.ubuntu.com/ubuntu/ xenial-security universe     deb-src http://security.ubuntu.com/ubuntu/ xenial-security universe     deb http://security.ubuntu.com/ubuntu/ xenial-security multiverse     deb-src http://security.ubuntu.com/ubuntu/ xenial-security multiverse runcmd:   - [echo, startup run $(date)]

packages: # SHOULD run apt-update; does not   - git package_update: true package_upgrade: true package_reboot_if_required: true

Contributor guide