Skip to content
This repository was archived by the owner on Jan 24, 2024. It is now read-only.

aws/ec2-hibernate-linux-agent

The EC2 Spot hibernation agent (Legacy)

With the release of a new generation of Spot Hibernation, this repo has entered legacy status

Please refer to the hibinit-agent repo now used for Spot Hibernation

Related Documentation:

  • Instructions to enable Spot Hibernation | Link

License

The code is released under Apache License Vesion 2.0. See LICENSE.txt for details.

Description

This agent does several things:

  1. Upon startup it checks for sufficient swap space to allow hibernate and fails if it's present but there's not enough of it.
  2. 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.
  3. It updates the offset of the swap file in the kernel using SNAPSHOT_SET_SWAP_AREA ioctl.
  4. 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".

About

A Hibernating Agent for Linux on Amazon EC2

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published