2016-11-30 10:39:13 +00:00

104 lines
3.2 KiB
Markdown

# Nova Hypervisor Snap
This repository contains the source code of the snap for the OpenStack Compute
service, Nova.
This snap specifically provides the compute and networking hypervisor daemons
as part of a snap based OpenStack deployment:
- nova-compute
- nova-api-metadata (provided for local metadata service use):w
- neutron-openvswitch-agent
- neutron-dhcp-agent
- neutron-l3-agent
- neutron-metadata-agent
This snap supports use of Libvirt/KVM Nova compute driver + Open vSwitch ML2
Neutron plugin.
## Installing this snap
The nova-hypervisor snap can be installed directly from the snap store:
sudo snap install [--edge] --devmode nova-hypervisor
Currently, this snap makes use of libvirt and openvswitch daemons running
on the host operating system, so these packages must be installed for
a functional hypervisor install:
sudo apt install libvirt-bin qemu-kvm openvswitch-switch
In addition, the libvirt apparmor helper must be placed into complain mode
until [bug 1644507](https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1644507)
is resolved:
sudo aa-complain /usr/lib/libvirt/virt-aa-helper
## Configuring Nova and Neutron
Snaps run in an AppArmor and seccomp confined profile, so don't read
configuration from `/etc/{nova,neutron}` on the hosting operating system install.
This snap supports configuration via the $SNAP\_COMMON writable area for the
snap:
etc/
├── neutron
│   ├── metadata_agent.ini
│   └── plugins
│   └── ml2
│   └── openvswitch_agent.ini
├── neutron.conf.d
│   └── neutron-snap.conf
├── nova
└── nova.conf.d
├── glance.conf
├── keystone.conf
├── neutron.conf
└── nova-snap.conf
The nova-hypervisor snap can be configured in a few ways.
Firstly the nova daemons 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, glance and neutron configuration
are configured using configuration snippets in separate files in
`etc/nova.conf.d`.
Neutron daemons follow the same behaviour; each daemon has its own dedicated
configuration file, but will also consume `etc/neutron.conf` and snippets
from `etc/neutron.conf.d` as well if these are found.
For reference, $SNAP\_COMMON is typically located under
`/var/snap/nova-hypervisor/common`.
## Restarting services
To restart all services:
sudo systemctl restart snap.nova-hypervisor.*
or restart services individually:
sudo systemctl restart snap.nova-hypervisor.nova-compute
## Building this snap
Simply clone this repository and then install and run snapcraft:
git clone https://github.com/openstack-snaps/snap-nova-hypervisor
sudo apt install snapcraft
cd nova
snapcraft
## Support
Please report any bugs related to this snap on
[Launchpad](https://bugs.launchpad.net/snap-nova-hypervisor/+filebug).
Alternatively you can find the OpenStack Snap team in `#openstack-snaps`
on Freenode IRC.