← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1785225] [NEW] package-update-upgrade-install does not *actually* update

 

Public bug reported:

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
```

2. Result in the following log entry at boot-time:

```
helpers.py[DEBUG]: update-sources already ran (freq=once-per-instance)
```

3. Running the module manually with:

```
sudo cloud-init single --name package-update-upgrade-install --frequency always
```

... also fails to call `apt-get update`

4. Google gives no results.
- No similar bugs visible here.
- No additional configuration keys shown in <https://cloudinit.readthedocs.io/en/latest/topics/modules.html#package-update-upgrade-install>.
- No relevant keys given in <https://cloudinit.readthedocs.io/en/latest/topics/modules.html#apt-configure>.
- Nowhere is "update-sources" mentioned.

5. Attempted guess at "update-sources" fails:

```
sudo cloud-init single --name update-sources --frequency always
```

6. 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']
```

7. 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#>

8. Environment:
- Ubuntu 16.04.5 LTS
- /usr/bin/cloud-init 18.2

9. /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

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

** Description changed:

  1. The following stanzas in /etc/cloud/cloud.cfg:
  
  ```
  cloud_final_modules:
-   # always update+upgrade on boot
-   - [package-update-upgrade-install, always]
+   # always update+upgrade on boot
+   - [package-update-upgrade-install, always]
  
  packages:  # will run apt-update
-   - git
+   - git
  package_update: true
  package_upgrade: true
  package_reboot_if_required: true
  ```
  
  2. Result in the following log entry at boot-time:
  
  ```
  helpers.py[DEBUG]: update-sources already ran (freq=once-per-instance)
  ```
  
  3. Running the module manually with:
  
  ```
  sudo cloud-init single --name package-update-upgrade-install --frequency always
  ```
  
  ... also fails to call `apt-get update`
  
- 
  4. Google gives no results.
  - No similar bugs visible here.
  - No additional configuration keys shown in <https://cloudinit.readthedocs.io/en/latest/topics/modules.html#package-update-upgrade-install>.
  - No relevant keys given in <https://cloudinit.readthedocs.io/en/latest/topics/modules.html#apt-configure>.
  - Nowhere is "update-sources" mentioned.
  
  5. Attempted guess at "update-sources" fails:
  
  ```
  sudo cloud-init single --name update-sources --frequency always
  ```
  
- 6. Expected behavior is that `apt-get update` is executed before the install.
+ 6. 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']
  ```
  
  7. 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]
+   - [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#>
  
  8. Environment:
  - Ubuntu 16.04.5 LTS
  - /usr/bin/cloud-init 18.2
  
  9. /etc/cloud/cloud.cfg
  ---
  cloud_init_modules:
-   - seed_random
-   - bootcmd
-   - set_hostname
-   - update_hostname
-   - update_etc_hosts
-   - ca-certs
-   - rsyslog
-   - users-groups
-   - ssh
+   - 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
+   - 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]
+   - 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
+   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
+   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)]
+   - [echo, startup run $(date)]
  
  packages:  # SHOULD run apt-update; does not
-   - git
+   - git
  package_update: true
  package_upgrade: true
  package_reboot_if_required: true

-- 
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/1785225

Title:
  package-update-upgrade-install does not *actually* update

Status in cloud-init:
  New

Bug description:
  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
  ```

  2. Result in the following log entry at boot-time:

  ```
  helpers.py[DEBUG]: update-sources already ran (freq=once-per-instance)
  ```

  3. Running the module manually with:

  ```
  sudo cloud-init single --name package-update-upgrade-install --frequency always
  ```

  ... also fails to call `apt-get update`

  4. Google gives no results.
  - No similar bugs visible here.
  - No additional configuration keys shown in <https://cloudinit.readthedocs.io/en/latest/topics/modules.html#package-update-upgrade-install>.
  - No relevant keys given in <https://cloudinit.readthedocs.io/en/latest/topics/modules.html#apt-configure>.
  - Nowhere is "update-sources" mentioned.

  5. Attempted guess at "update-sources" fails:

  ```
  sudo cloud-init single --name update-sources --frequency always
  ```

  6. 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']
  ```

  7. 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#>

  8. Environment:
  - Ubuntu 16.04.5 LTS
  - /usr/bin/cloud-init 18.2

  9. /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

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


Follow ups