Activity log for bug #2059337

Date Who What changed Old value New value Message
2024-03-27 22:17:17 Chad Smith bug added bug
2024-03-27 22:46:55 David Myers bug added subscriber David Myers
2024-03-27 22:47:15 Launchpad Janitor needrestart (Ubuntu): status New Confirmed
2024-03-27 22:57:12 Launchpad Janitor merge proposal linked https://code.launchpad.net/~chad.smith/ubuntu/+source/needrestart/+git/needrestart/+merge/463236
2024-03-27 22:59:30 Chad Smith description Recent downstream ubuntu-specific changes in needrestart version 3.6-7ubuntu1 [1] set Ubuntu into autorestart mode during non-interactive apt-get dist-upgrade is being performed. This causes an acute issue for cloud-init when #cloud-config user-data tries to perform apt-get dist-upgrade and package installs via user-data[2] like the following: #cloud-config package_update: true package_upgrade: true packages: [sl] Since cloud-init runs apt-get dist-upgrade in cloud-final.service in non-interactive mode, Ubuntu's behavior looks to set the default "opt_r" mode to "a" (automatic). This causes problems when cloud-init package is also being upgraded by dist-upgrade as needrestart will collect the currently running cloud-final.service and determine it is a target for automtic restart. The immediate SIGTERM of cloud-final.service prevents cloud-init from completing any of the remaining config modules in the cloud-final boot stage, notably, the additional package installs requested by the `packages:` directive in user data. Given that cloud-final.service is a oneshot service, that can spawn apt-get dist-upgrade. I'd propose that minimally Ubuntu initially carries a downstream patch to skip automated restart of cloud-final.service[3]. I don't see an easier way to inject other skip regex into /etc/needrestart/needrestart.conf via /etc/needrestart/conf.d/cloud-init.conf that would allow us to augment the list of skip regexs on a per-package basis. References: [1] Ubuntu needrestart setting automatic restart mode when non-interactive on Ubuntu https://git.launchpad.net/ubuntu/+source/needrestart/tree/debian/patches/ubuntu-mode.patch?id=0ee54f20335d49ba3c330e5f8328e88a8cc3f99b#n72 [2] Upstream cloud-init bug: cloud-final.service getting sigterm before installing packages https://github.com/canonical/cloud-init/issues/5109 [3] downstream packaging proposal: Recent downstream ubuntu-specific changes in needrestart version 3.6-7ubuntu1 [1] set Ubuntu into autorestart mode during non-interactive apt-get dist-upgrade is being performed. This causes an acute issue for cloud-init when #cloud-config user-data tries to perform apt-get dist-upgrade and package installs via user-data[2] like the following: #cloud-config package_update: true package_upgrade: true packages: [sl] Since cloud-init runs apt-get dist-upgrade in cloud-final.service in non-interactive mode, Ubuntu's behavior looks to set the default "opt_r" mode to "a" (automatic). This causes problems when cloud-init package is also being upgraded by dist-upgrade as needrestart will collect the currently running cloud-final.service and determine it is a target for automtic restart. The immediate SIGTERM of cloud-final.service prevents cloud-init from completing any of the remaining config modules in the cloud-final boot stage, notably, the additional package installs requested by the `packages:` directive in user data. Given that cloud-final.service is a oneshot service, that can spawn apt-get dist-upgrade. I'd propose that minimally Ubuntu initially carries a downstream patch to skip automated restart of cloud-final.service[3]. I don't see an easier way to inject other skip regex into /etc/needrestart/needrestart.conf via /etc/needrestart/conf.d/cloud-init.conf that would allow us to augment the list of skip regexs on a per-package basis. References: [1] Ubuntu needrestart setting automatic restart mode when non-interactive on Ubuntu https://git.launchpad.net/ubuntu/+source/needrestart/tree/debian/patches/ubuntu-mode.patch?id=0ee54f20335d49ba3c330e5f8328e88a8cc3f99b#n72 [2] Upstream cloud-init bug: cloud-final.service getting sigterm before installing packages https://github.com/canonical/cloud-init/issues/5109 [3] downstream packaging proposal: https://code.launchpad.net/~chad.smith/ubuntu/+source/needrestart/+git/needrestart/+merge/463236
2024-03-27 23:00:57 Chad Smith bug task added cloud-init (Ubuntu)
2024-03-27 23:01:24 Chad Smith cloud-init (Ubuntu): status New Confirmed
2024-03-27 23:01:52 Chad Smith nominated for series Ubuntu Noble
2024-03-27 23:01:52 Chad Smith bug task added cloud-init (Ubuntu Noble)
2024-03-27 23:01:52 Chad Smith bug task added needrestart (Ubuntu Noble)
2024-03-28 03:14:45 Chad Smith bug watch added https://github.com/liske/needrestart/issues/184
2024-03-28 15:19:29 Steve Langasek tags foundations-todo
2024-03-28 15:42:07 Chad Smith description Recent downstream ubuntu-specific changes in needrestart version 3.6-7ubuntu1 [1] set Ubuntu into autorestart mode during non-interactive apt-get dist-upgrade is being performed. This causes an acute issue for cloud-init when #cloud-config user-data tries to perform apt-get dist-upgrade and package installs via user-data[2] like the following: #cloud-config package_update: true package_upgrade: true packages: [sl] Since cloud-init runs apt-get dist-upgrade in cloud-final.service in non-interactive mode, Ubuntu's behavior looks to set the default "opt_r" mode to "a" (automatic). This causes problems when cloud-init package is also being upgraded by dist-upgrade as needrestart will collect the currently running cloud-final.service and determine it is a target for automtic restart. The immediate SIGTERM of cloud-final.service prevents cloud-init from completing any of the remaining config modules in the cloud-final boot stage, notably, the additional package installs requested by the `packages:` directive in user data. Given that cloud-final.service is a oneshot service, that can spawn apt-get dist-upgrade. I'd propose that minimally Ubuntu initially carries a downstream patch to skip automated restart of cloud-final.service[3]. I don't see an easier way to inject other skip regex into /etc/needrestart/needrestart.conf via /etc/needrestart/conf.d/cloud-init.conf that would allow us to augment the list of skip regexs on a per-package basis. References: [1] Ubuntu needrestart setting automatic restart mode when non-interactive on Ubuntu https://git.launchpad.net/ubuntu/+source/needrestart/tree/debian/patches/ubuntu-mode.patch?id=0ee54f20335d49ba3c330e5f8328e88a8cc3f99b#n72 [2] Upstream cloud-init bug: cloud-final.service getting sigterm before installing packages https://github.com/canonical/cloud-init/issues/5109 [3] downstream packaging proposal: https://code.launchpad.net/~chad.smith/ubuntu/+source/needrestart/+git/needrestart/+merge/463236 Recent downstream ubuntu-specific changes in needrestart version 3.6-7ubuntu1 [1] set Ubuntu into autorestart mode when non-interactive apt-get dist-upgrade is being performed. This causes an acute issue for cloud-init when #cloud-config user-data tries to perform apt-get dist-upgrade and package installs via user-data[2] like the following: #cloud-config package_update: true package_upgrade: true packages: [sl] Since cloud-init runs apt-get dist-upgrade in cloud-final.service in non-interactive mode, Ubuntu's behavior looks to set the default "opt_r" mode to "a" (automatic). This causes problems when cloud-init package is also being upgraded by dist-upgrade as needrestart will collect the currently running cloud-final.service and determine it is a target for automtic restart. The immediate SIGTERM of cloud-final.service prevents cloud-init from completing any of the remaining config modules in the cloud-final boot stage, notably, the additional package installs requested by the `packages:` directive in user data. Given that cloud-final.service is a oneshot service, that can spawn apt-get dist-upgrade. I'd propose that minimally Ubuntu initially carries a downstream patch to skip automated restart of cloud-final.service[3]. I don't see an easier way to inject other skip regex into /etc/needrestart/needrestart.conf via /etc/needrestart/conf.d/cloud-init.conf that would allow us to augment the list of skip regexs on a per-package basis. References: [1] Ubuntu needrestart setting automatic restart mode when non-interactive on Ubuntu https://git.launchpad.net/ubuntu/+source/needrestart/tree/debian/patches/ubuntu-mode.patch?id=0ee54f20335d49ba3c330e5f8328e88a8cc3f99b#n72 [2] Upstream cloud-init bug: cloud-final.service getting sigterm before installing packages https://github.com/canonical/cloud-init/issues/5109 [3] downstream packaging proposal: https://code.launchpad.net/~chad.smith/ubuntu/+source/needrestart/+git/needrestart/+merge/463236
2024-04-07 07:08:59 Launchpad Janitor needrestart (Ubuntu Noble): status Confirmed Fix Released
2024-04-18 14:26:37 Chad Smith cloud-init (Ubuntu Noble): status Confirmed Won't Fix
2024-04-25 14:41:38 Chad Smith cloud-init (Ubuntu): status Confirmed Invalid
2024-05-07 22:14:53 Launchpad Janitor merge proposal linked https://code.launchpad.net/~cpete/ubuntu/+source/needrestart/+git/needrestart/+merge/465736
2024-05-07 23:10:41 Vladimir Petko merge proposal unlinked https://code.launchpad.net/~cpete/ubuntu/+source/needrestart/+git/needrestart/+merge/465736