[Bug 1796193] Re: DistUpgradeViewNonInteractive crashes / requires interaction
Brian Murray
brian at ubuntu.com
Fri May 10 21:35:40 UTC 2019
** Description changed:
- I'm trying to do some automated testing that involved upgrading a system
- from xenial to bionic, so I need it to not ask for user input.
+ [Impact]
+ The NonInteractive view of ubuntu-release-upgrader doesn't work so it is hard to automate upgrade testing.
+
+ [Test Case]
+ You need to create a situation where you'll receive a conffile prompt since the handling of those is broken.
+
+ 1) On a bionic system modify /etc/update-manager/release-upgrades so that Prompt=normal
+ 2) Test an upgrade from bionic to cosmic or disco i.e. run do-release-upgrade
+ 3) Observe the upgrade hang on the '/etc/update-manager/release-upgrades' conffifle and the following in /var/log/dist-upgrade/main.log
+ "2019-05-10 21:21:21,313 WARNING got a conffile-prompt from dpkg for file: '/etc/update-manager/release-upgrades'
+ 2019-05-10 21:21:26,319 ERROR error 'a bytes-like object is required, not 'str'' when trying to write to the conffile"
+
+ With the version of the release-upgrader from -proposed you'll no longer
+ observe the upgrade process hanging.
+
+ [Regression Potential]
+ The fix is making it so that a byte object is passed to the prompt instead of a string one so there really isn't one.
+
+ [Original Description]
+ I'm trying to do some automated testing that involved upgrading a system from xenial to bionic, so I need it to not ask for user input.
Before running do-release-upgrade, the system got a fresh dist-upgrade
and reboot.
To avoid interactive responses, I'm using:
$ sudo do-release-upgrade -d -f DistUpgradeViewNonInteractive
Part way through the upgrade, I do get prompted for something though:
Preparing to unpack .../apt_1.6.3ubuntu0.1_amd64.deb ...
Unpacking apt (1.6.3ubuntu0.1) over (1.2.27) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
/sbin/ldconfig.real: Warning: ignoring configuration file that cannot be
opened: /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf: No such file or
directory
/sbin/ldconfig.real: Warning: ignoring configuration file that cannot be
opened: /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf: No such file or
directory
Setting up apt (1.6.3ubuntu0.1) ...
Installing new version of config file /etc/apt/apt.conf.d/01autoremove
...
-
Configuration file '/etc/cron.daily/apt-compat'
- ==> Deleted (by you or by a script) since installation.
+ ==> Deleted (by you or by a script) since installation.
- ==> Package distributor has shipped an updated version.
+ ==> Package distributor has shipped an updated version.
- What would you like to do about it ? Your options are:
+ What would you like to do about it ? Your options are:
- Y or I : install the package maintainer's version
+ Y or I : install the package maintainer's version
- N or O : keep your currently-installed version
+ N or O : keep your currently-installed version
- D : show the differences between the versions
+ D : show the differences between the versions
- Z : start a shell to examine the situation
+ Z : start a shell to examine the situation
- The default action is to keep your current version.
+ The default action is to keep your current version.
Comparing the sha1 of apt-compat before the upgrade to another xenial
system that has been unmodified, they are the same:
In /var/log/dist-upgrade/main.log, I also found this:
2018-10-04 14:20:24,575 WARNING got a conffile-prompt from dpkg for file: '/etc/cron.daily/apt-compat'
2018-10-04 14:20:29,580 ERROR error 'a bytes-like object is required, not 'str'' when trying to write to the conffile
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/1796193
Title:
DistUpgradeViewNonInteractive crashes / requires interaction
Status in apt package in Ubuntu:
Incomplete
Status in ubuntu-release-upgrader package in Ubuntu:
In Progress
Status in apt source package in Cosmic:
New
Status in ubuntu-release-upgrader source package in Cosmic:
In Progress
Status in apt source package in Disco:
New
Status in ubuntu-release-upgrader source package in Disco:
In Progress
Status in apt source package in Eoan:
Incomplete
Status in ubuntu-release-upgrader source package in Eoan:
In Progress
Bug description:
[Impact]
The NonInteractive view of ubuntu-release-upgrader doesn't work so it is hard to automate upgrade testing.
[Test Case]
You need to create a situation where you'll receive a conffile prompt since the handling of those is broken.
1) On a bionic system modify /etc/update-manager/release-upgrades so that Prompt=normal
2) Test an upgrade from bionic to cosmic or disco i.e. run do-release-upgrade
3) Observe the upgrade hang on the '/etc/update-manager/release-upgrades' conffifle and the following in /var/log/dist-upgrade/main.log
"2019-05-10 21:21:21,313 WARNING got a conffile-prompt from dpkg for file: '/etc/update-manager/release-upgrades'
2019-05-10 21:21:26,319 ERROR error 'a bytes-like object is required, not 'str'' when trying to write to the conffile"
With the version of the release-upgrader from -proposed you'll no
longer observe the upgrade process hanging.
[Regression Potential]
The fix is making it so that a byte object is passed to the prompt instead of a string one so there really isn't one.
[Original Description]
I'm trying to do some automated testing that involved upgrading a system from xenial to bionic, so I need it to not ask for user input.
Before running do-release-upgrade, the system got a fresh dist-upgrade
and reboot.
To avoid interactive responses, I'm using:
$ sudo do-release-upgrade -d -f DistUpgradeViewNonInteractive
Part way through the upgrade, I do get prompted for something though:
Preparing to unpack .../apt_1.6.3ubuntu0.1_amd64.deb ...
Unpacking apt (1.6.3ubuntu0.1) over (1.2.27) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
/sbin/ldconfig.real: Warning: ignoring configuration file that cannot
be opened: /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf: No such file
or directory
/sbin/ldconfig.real: Warning: ignoring configuration file that cannot
be opened: /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf: No such file or
directory
Setting up apt (1.6.3ubuntu0.1) ...
Installing new version of config file /etc/apt/apt.conf.d/01autoremove
...
Configuration file '/etc/cron.daily/apt-compat'
==> Deleted (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
Comparing the sha1 of apt-compat before the upgrade to another xenial
system that has been unmodified, they are the same:
In /var/log/dist-upgrade/main.log, I also found this:
2018-10-04 14:20:24,575 WARNING got a conffile-prompt from dpkg for file: '/etc/cron.daily/apt-compat'
2018-10-04 14:20:29,580 ERROR error 'a bytes-like object is required, not 'str'' when trying to write to the conffile
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1796193/+subscriptions
More information about the foundations-bugs
mailing list