charm-nova-compute/hooks/charmhelpers/core
James Page d10dd7795e Add support for instance storage encryption
Add support for encryption of the underlying block device providing
storage for local instances.

This commit introduces a new juju storage binding and configuration
option to provide a single block device for use for local instance
storage; this block device is formatted and mounted at
/var/lib/nova/instances.  In a MAAS deployment, this could be a
bcache fronted device.

The configuration option is preferred over the Juju storage binding
if both are supplied.

This block device can optionally be encrypted using dm-crypt/LUKS
with encryption keys stored in Hashicorp Vault using vaultlocker.

vaultlocker ensures that keys are never persisted to local storage,
providing assurance around security of data at rest in the event
that disks/server are stolen.

Charm support is implemented using a new configuration option 'encrypt'
which when set enforces a mandatory relationship to an instance
of the vault application.

Copy the 'ephemeral-unmount' config option and assocaited code from
the ceph-osd and swift-storage charms to enable testing in cloudy
environments.

Change-Id: I772baa61f45ff430f706ec4864f3018488026148
2018-05-15 08:27:10 +01:00
..
host_factory Use volumev3 for internal endpoint in >= Pike 2017-12-08 10:05:10 +00:00
kernel_factory Update Amulet defs, series metadata and c-h sync 2016-11-28 14:56:20 -06:00
services Add support for instance storage encryption 2018-05-15 08:27:10 +01:00
__init__.py Resync charmhelpers for licensing change 2016-07-06 16:39:54 +01:00
decorators.py Resync charmhelpers for licensing change 2016-07-06 16:39:54 +01:00
files.py Resync charmhelpers for licensing change 2016-07-06 16:39:54 +01:00
fstab.py Resync charmhelpers for licensing change 2016-07-06 16:39:54 +01:00
hookenv.py Add support for instance storage encryption 2018-05-15 08:27:10 +01:00
host.py Add support for instance storage encryption 2018-05-15 08:27:10 +01:00
hugepage.py Resync charmhelpers for licensing change 2016-07-06 16:39:54 +01:00
kernel.py Add support for application version 2016-09-20 12:37:40 +01:00
strutils.py Enable xenial-pike amulet test 2017-11-16 15:44:15 +13:00
sysctl.py Add support for instance storage encryption 2018-05-15 08:27:10 +01:00
templating.py Sync charm-helpers and use VolumeAPIContext 2018-02-08 19:07:34 -07:00
unitdata.py Add support for instance storage encryption 2018-05-15 08:27:10 +01:00