The EC2 Spot hibernation agent.
License
The code is released under Apache License Vesion 2.0. See LICENSE.txt for details.
Description
This agent does several things:
- Upon startup it checks for sufficient swap space to allow hibernate and fails if it's present but there's not enough of it.
- If there's no swap space, it creates it and launches a background thread to touch all of its blocks to make sure that EBS volumes are pre-warmed.
- It updates the offset of the swap file in the kernel using SNAPSHOT_SET_SWAP_AREA ioctl.
- It daemonizes and starts a polling thread to listen for instance termination notifications.
Building
The code can be build using the usual Python setuptools:
python setup.py install
Additionally, you can build an sRPM package for CentOS/RedHat by running "make sources".