Snap package for Nova
Go to file
James Page 4010485ea9 Use snapcraft from packages
snapcraft is not yet pip installable, so use from installed packages
for the time being.

Change-Id: Ib6f065efba5a905bde23eeaf9fcf55776f3d6441
2017-01-04 09:21:18 +00:00
snap Add metadata daemon, rename conf->snap 2016-11-25 09:02:44 +00:00
.gitignore Baseline nova snap 2016-11-22 14:35:13 +00:00
.gitreview Add gitreview configuration 2016-11-22 15:47:05 +00:00
bindep.txt Use snapcraft from packages 2017-01-04 09:21:18 +00:00
CONTRIBUTING.rst Add CONTRIBUTING doc 2016-11-22 15:10:35 +00:00
LICENSE Add LICENSE 2016-11-22 15:47:52 +00:00
README.md Misc updates 2016-11-25 08:49:09 +00:00
requirements.txt Use snapcraft from packages 2017-01-04 09:21:18 +00:00
snapcraft.yaml Add firewall control to nova metadata service 2016-12-01 08:53:33 +00:00
tox.ini Misc updates 2016-11-25 08:49:09 +00:00

Nova Snap

This repository contains the source code of the snap for the OpenStack Compute service, Nova.

This snap specifically provides the compute controller daemons as part of a snap based OpenStack deployment.

Installing this snap

The nova snap can be installed directly from the snap store:

sudo snap install [--edge] nova

Configuring Nova

Snaps run in an AppArmor and seccomp confined profile, so don't read configuration from /etc/nova on the hosting operating system install.

This snap supports configuration via the $SNAP_COMMON writable area for the snap:

etc
├── nova
│   ├── nova.conf
└── nova.conf.d
    ├── database.conf
    ├── nova-snap.conf
    └── keystone.conf

The nova snap can be configured in a few ways.

Firstly the nova-server daemon will detect and read etc/nova/nova.conf if it exists so you can reuse your existing tooling to write to this file for classic style configuration.

Alternatively the nova daemons will load all configuration files from etc/nova.conf.d - in the above example, database and keystone authtoken are configured using configuration snippets in separate files in etc/nova.conf.d.

For reference, $SNAP_COMMON is typically located under /var/snap/nova/common.

Managing Nova

Currently all snap binaries must be run as root; for example, to run the nova-manage binary use:

sudo nova.manage

Restarting Nova services

To restart all nova services:

sudo systemctl restart snap.nova.*

or restart services individually:

sudo systemctl restart snap.nova.api

Building the Nova snap

Simply clone this repository and then install and run snapcraft:

git clone https://github.com/openstack-snaps/snap-nova
sudo apt install snapcraft
cd nova
snapcraft

Support

Please report any bugs related to this snap on Launchpad.

Alternatively you can find the OpenStack Snap team in #openstack-snaps on Freenode IRC.