** 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
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to