Public bug reported: [Impact]
* The preinstalled ec2-hibinit-agent package may prepare the instance for hibernation even when hibernation is disabled. This preparation includes setting up a swap file bigger or the same size as than the instance's RAM which is wasted if it is not used for hibernation. * The fix is checking urlopen()'s return value against both 'false' and b'false', not just against 'false' that worked with Python 2. [Test Case] 0. Start a c4 instance from a public image, e.g. ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20180912 1. Verify that hibernation is disabled: $ curl http://169.254.169.254/latest/meta-data/hibernation/configured false 2. Install ec2-hibinit-agent if it is not installed already 3. Verify that it does not start: $ service hibinit-agent status ● hibinit-agent.service - EC2 instance hibernation setup agent Loaded: loaded (/lib/systemd/system/hibinit-agent.service; enabled; vendor preset: enabled) Active: inactive (dead) since Wed 2019-02-27 15:28:47 UTC; 54s ago Docs: file:/usr/share/doc/ec2-hibinit-agent/README Process: 26448 ExecStart=/usr/bin/hibinit-agent -c /etc/hibinit-config.cfg (code=exited, status=0/SUCCESS) Main PID: 25259 (code=exited, status=0/SUCCESS) Feb 27 15:28:46 ip-172-31-3-157 systemd[1]: Starting EC2 instance hibernation setup agent... Feb 27 15:28:47 ip-172-31-3-157 /hibinit-agent[26448]: Instance Launch has not enabled Hibernation Configured Flag. hibinit-agent exiting!! Feb 27 15:28:47 ip-172-31-3-157 hibinit-agent[26448]: Instance Launch has not enabled Hibernation Configured Flag. hibinit-agent exiting!! Feb 27 15:28:47 ip-172-31-3-157 systemd[1]: Started EC2 instance hibernation setup agent. 4. Start a c4 instance from an encrypted EBS-backed AMI, with hibernation enabled. 5. Verify that hibernation is enabled: $ curl http://169.254.169.254/latest/meta-data/hibernation/configured true 6. Install ec2-hibinit-agent if it is not installed already 7. Verify that it does start: $ service hibinit-agent status ● hibinit-agent.service - EC2 instance hibernation setup agent Loaded: loaded (/lib/systemd/system/hibinit-agent.service; enabled; vendor preset: enabled) Active: inactive (dead) since Wed 2019-02-27 12:50:26 UTC; 2h 30min ago Docs: file:/usr/share/doc/ec2-hibinit-agent/README Main PID: 25259 (code=exited, status=0/SUCCESS) Feb 27 12:50:25 ip-172-31-3-157 hibinit-agent[25241]: Allocating 4194304000 bytes in /swap-hibinit Feb 27 12:50:25 ip-172-31-3-157 hibinit-agent[25241]: Swap pre-heating is skipped, the swap blocks won't be touched during to ensure they are ready Feb 27 12:50:25 ip-172-31-3-157 hibinit-agent[25241]: Running: mkswap /swap-hibinit Feb 27 12:50:25 ip-172-31-3-157 hibinit-agent[25241]: Running: swapon /swap-hibinit Feb 27 12:50:25 ip-172-31-3-157 hibinit-agent[25241]: Updating the kernel offset for the swapfile: /swap-hibinit Feb 27 12:50:25 ip-172-31-3-157 hibinit-agent[25241]: Updating GRUB to use the device /dev/xvda1 with offset 595968 for resume Feb 27 12:50:25 ip-172-31-3-157 hibinit-agent[25241]: GRUB configuration is updated Feb 27 12:50:25 ip-172-31-3-157 hibinit-agent[25241]: Setting swap device to 51713 with offset 595968 Feb 27 12:50:25 ip-172-31-3-157 hibinit-agent[25241]: Done updating the swap offset. Turning swapoff Feb 27 12:50:25 ip-172-31-3-157 hibinit-agent[25241]: Running: swapoff /swap-hibinit 8. Start a c4 instance from an encrypted EBS-backed AMI, with hibernation disabled. 9. Verify that hibernation is disabled: $ curl http://169.254.169.254/latest/meta-data/hibernation/configured <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>404 - Not Found</title> </head> <body> <h1>404 - Not Found</h1> </body> </html> 10. Install ec2-hibinit-agent if it is not installed already 11. Verify that it does not start: $ service hibinit-agent status ● hibinit-agent.service - EC2 instance hibernation setup agent Loaded: loaded (/lib/systemd/system/hibinit-agent.service; enabled; vendor preset: enabled) Active: inactive (dead) since Wed 2019-02-27 15:28:47 UTC; 54s ago Docs: file:/usr/share/doc/ec2-hibinit-agent/README Process: 26448 ExecStart=/usr/bin/hibinit-agent -c /etc/hibinit-config.cfg (code=exited, status=0/SUCCESS) Main PID: 25259 (code=exited, status=0/SUCCESS) Feb 27 15:28:46 ip-172-31-3-157 systemd[1]: Starting EC2 instance hibernation setup agent... Feb 27 15:28:47 ip-172-31-3-157 /hibinit-agent[26448]: Instance Launch has not enabled Hibernation Configured Flag. hibinit-agent exiting!! Feb 27 15:28:47 ip-172-31-3-157 hibinit-agent[26448]: Instance Launch has not enabled Hibernation Configured Flag. hibinit-agent exiting!! Feb 27 15:28:47 ip-172-31-3-157 systemd[1]: Started EC2 instance hibernation setup agent. [Regression Potential] * As a side-effect of the fix hibinit-agent may fail to start when hibernation is enabled but the verification steps include this test case to avoid introducing the regression. ** Affects: ec2-hibinit-agent (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1817926 Title: Hibinit-agent starts even when instance hibernation is disabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ec2-hibinit-agent/+bug/1817926/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
