charm-nova-compute/metadata.yaml
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

62 lines
1.3 KiB
YAML

name: nova-compute
summary: OpenStack Compute - Nova compute hypervisor
maintainer: OpenStack Charmers <openstack-charmers@lists.ubuntu.com>
description: |
OpenStack Compute, codenamed Nova, is a cloud computing fabric controller. In
addition to its "native" API (the OpenStack API), it also supports the Amazon
EC2 API.
.
This charm provides the Nova Compute hypervisor service and should be deployed
directly to physical servers.
tags:
- openstack
series:
- xenial
- bionic
- artful
- trusty
provides:
cloud-compute:
interface: nova-compute
nrpe-external-master:
interface: nrpe-external-master
scope: container
extra-bindings:
internal:
requires:
shared-db:
interface: mysql-shared
amqp:
interface: rabbitmq
image-service:
interface: glance
ceph:
interface: ceph-client
nova-designate:
interface: nova-designate
lxd:
interface: containers
scope: container
nova-ceilometer:
interface: nova-ceilometer
scope: container
neutron-plugin:
interface: neutron-plugin
scope: container
ephemeral-backend:
interface: ephemeral-backend
scope: container
ceph-access:
interface: cinder-ceph-key
secrets-storage:
interface: vault-kv
peers:
compute-peer:
interface: nova
storage:
ephemeral-device:
type: block
multiple:
range: 0-1
minimum-size: 10G