135 lines
4.4 KiB
Markdown
Raw Permalink Normal View History

2016-11-30 10:39:13 +00:00
# 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
2016-11-30 10:40:55 +00:00
- nova-api-metadata (provided for local metadata service use)
2016-11-30 10:39:13 +00:00
- 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 --channel=ocata/edge nova-hypervisor
2016-11-30 10:39:13 +00:00
The nova-hypervisor snap is working towards publication across tracks for
OpenStack releases. The edge channel for each track will contain the tip
of the OpenStack project's master or stable branch, with the beta, candidate,
and stable channels being reserved for released versions. The same version
will be published progressively to beta, then candidate, and then stable once
CI validation completes for the channel. This should result in an experience
such as:
2016-11-30 10:39:13 +00:00
sudo snap install --channel=ocata/stable nova-hypervisor
sudo snap install --channel=pike/edge nova-hypervisor
2016-11-30 10:39:13 +00:00
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:
2016-11-30 10:39:13 +00:00
sudo apt install libvirt-bin qemu-kvm openvswitch-switch
2016-11-30 10:39:13 +00:00
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
2016-11-30 10:39:13 +00:00
## Configuring Nova and Neutron
The nova-hypervisor snap gets its default configuration from the following $SNAP
and $SNAP_COMMON locations:
2016-11-30 10:39:13 +00:00
/snap/nova-hypervisor/current/etc/
2016-11-30 10:39:13 +00:00
├── nova
│   └── nova.conf
└── neutron
   ├── neutron.conf
   ├── dhcp_agent.ini
   ├── l3_agent.ini
   ├── metadata_agent.ini
   └── plugins
└── ml2
└── openvswitch_agent.ini
/var/snap/nova-hypervisor/common/etc/
├── nova
│   └── nova.conf.d
│      └── nova-snap.conf
└── neutron
└── neutron.conf.d
      └── neutron-snap.conf
2016-11-30 10:39:13 +00:00
The nova-hypervisor snap supports configuration updates via its $SNAP_COMMON
writable area. The default nova-hypervisor configuration can be overridden as
follows:
2016-11-30 10:39:13 +00:00
/var/snap/nova-hypervisor/common/etc/
├── nova
│   ├── nova.conf.d
│   │   ├── nova-snap.conf
│   │   ├── glance.conf
│   │   ├── keystone.conf
│   │   └── neutron.conf
│   └── nova.conf
└── neutron
   ├── neutron.conf.d
   │   ├── neutron-snap.conf
   │   └── ...
   ├── neutron.conf
   ├── dhcp_agent.ini
   ├── l3_agent.ini
   ├── metadata_agent.ini
   └── plugins
└── ml2
└── openvswitch_agent.ini
The nova and neutron configuration can be overridden or augmented by writing
configuration snippets to files in their conf.d directories.
Alternatively, configuration can be overridden by adding full config files
to the nova/, neutron/, neutron/plugins/ml2/ directories. If overriding in
this way, you may need to update your config to point at additional config
files located in $SNAP, or add those to $SNAP_COMMON as well.
## Logging nova-hypervisor
The services for the nova-hypervisor snap will log to its $SNAP_COMMON writable area:
/var/snap/nova-hypervisor/common/log.
2016-11-30 10:39:13 +00:00
## Restarting services
To restart all nova-hypervisor services:
2016-11-30 10:39:13 +00:00
sudo systemctl restart snap.nova-hypervisor.*
or an individual service can be restarted by dropping the wildcard and
specifying the full service name.
2016-11-30 10:39:13 +00:00
## Building the nova-hypervisor snap
2016-11-30 10:39:13 +00:00
Simply clone this repository and then install and run snapcraft:
git clone https://github.com/openstack/snap-nova-hypervisor
2016-11-30 10:39:13 +00:00
sudo apt install snapcraft
cd snap-nova-hypervisor
2016-11-30 10:39:13 +00:00
snapcraft
## Support
Please report any bugs related to this snap at:
2016-11-30 10:39:13 +00:00
[Launchpad](https://bugs.launchpad.net/snap-nova-hypervisor/+filebug).
Alternatively you can find the OpenStack Snap team in `#openstack-snaps` on
Freenode IRC.