Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gantsign/ansible_role_zswap

Ansible role for configuring Zswap
https://github.com/gantsign/ansible_role_zswap

ansible ansible-role

Last synced: 12 days ago
JSON representation

Ansible role for configuring Zswap

Awesome Lists containing this project

README

        

Ansible Role: Zswap
===================

[![Tests](https://github.com/gantsign/ansible_role_zswap/workflows/Tests/badge.svg)](https://github.com/gantsign/ansible_role_zswap/actions?query=workflow%3ATests)
[![Ansible Galaxy](https://img.shields.io/badge/ansible--galaxy-gantsign.zswap-blue.svg)](https://galaxy.ansible.com/gantsign/zswap)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/gantsign/ansible_role_zswap/master/LICENSE)

Role to configure
[Zswap](https://www.kernel.org/doc/Documentation/vm/zswap.txt) a Linux kernel
feature that provides a compressed RAM cache for swap pages.

Requirements
------------

* Ansible >= 2.9

* Linux Distribution

* Debian Family

* Ubuntu

* Bionic (18.04)
* Focal (20.04)

Role Variable
-------------

The following variable will change the behavior of this role (the default value
is shown below):

```yaml
# The maximum percentage of RAM to be used for the Zswap pool.
zswap_max_pool_percent: 20
```

Example Playbook
----------------

```yaml
- hosts: servers
roles:
- role: gantsign.zswap
```

More Roles From GantSign
------------------------

You can find more roles from GantSign on
[Ansible Galaxy](https://galaxy.ansible.com/gantsign).

Development & Testing
---------------------

This project uses [Molecule](http://molecule.readthedocs.io/) to aid in the
development and testing; the role is unit tested using
[Testinfra](http://testinfra.readthedocs.io/) and
[pytest](http://docs.pytest.org/).

To develop or test you'll need to have installed the following:

* Linux (e.g. [Ubuntu](http://www.ubuntu.com/))
* [Docker](https://www.docker.com/)
* [Python](https://www.python.org/) (including python-pip)
* [Ansible](https://www.ansible.com/)
* [Molecule](http://molecule.readthedocs.io/)

Because the above can be tricky to install, this project includes
[Molecule Wrapper](https://github.com/gantsign/molecule-wrapper). Molecule
Wrapper is a shell script that installs Molecule and it's dependencies (apart
from Linux) and then executes Molecule with the command you pass it.

To test this role using Molecule Wrapper run the following command from the
project root:

```bash
./moleculew test
```

Note: some of the dependencies need `sudo` permission to install.

License
-------

MIT

Author Information
------------------

John Freeman

GantSign Ltd.
Company No. 06109112 (registered in England)