** Description changed: === Begin SRU Template === [Impact] The key change is that the user agent string as of Zesty and Artful now contains the contents of /proc/uptime. In aggregate, this gives us important performance data to detect improvements and regressions in Ubuntu boot times. [Test Case] - Pollinate does not provide an easy way to test either of the changes - that were added. + Launch a privileged container with: + + 1. lxc launch ubuntu-daily:xenial -c security.privileged=true x1-priv + 2. lxc exec x1-priv -- apt update && apt -y install pollen + + Run a local pollen server and have the pollinate (client) connect with + that via: + + 3. lxc exec x1-priv -- pollinate -r --insecure -s https://localhost + + Then check in /var/log/syslog for the client user-agent string. On + systems without the updated pollinate client, the USER_AGENT value does + not include uptime: + + root@x1-priv:~# grep pollen /var/log/syslog | grep -c uptime + 0 + root@x1-priv:~# + + After upgrading to the newer client, uptime is now present in the pollen + entries: + + root@x1-priv:~# grep pollen /var/log/syslog | grep -c uptime + 2 + root@x1-priv:~# The two changes are: a.) the defaults file /etc/default/pollinate file was sourced twice during execution. That was unlikely to cause issue, but the cleanup removed unnecessary duplication. b.) uptime is read from /proc/cpuinfo and added to the USER_AGENT variable that is fed to curl. - - So realistically the best test is to just check for regression. Note - that this cannot be done in a container as pollinate does not run - in a container. - - a.) start an instance - b.) enable proposed, install updated pollinate. - c.) rm -Rf /var/cache/pollinate/ - d.) reboot - e.) look at status of pollinate: - service pollinate status. [Regression Potential] The script runs with 'set -e', and reads from /proc/uptime with: read up idle < /proc/uptime That means that the 'pollinate' script will exit failure if either: a.) /proc/uptime did not exist (possibly proc not mounted) b.) a read error occurred. These scenarios seem unlikely, especially in Ubuntu environments. The upstream code should check to at least check the readability of /proc/uptime first. I've filed bug 1708461 to address that issue and submitted a merge proposal for a fix. [Other Info] The reading of up/idle from uptime was originally added under bug 1638552. === End SRU Template ===
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1708192 Title: SRU pollinate 4.25 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/pollinate/+bug/1708192/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
