Corey Bryant fd1265eb20 Switch to classic confinement
Classic confinement allows the snap to behave like a traditionally
packaged application with full access to the system, and enables the
use of traditional directories such as /etc and /var/log.

We will continue to store all of the snap's files in $SNAP* directories.
This enables the snap to cleanup after itself if it is removed. However,
traditional directory locations are symlinked to their corresponding
$SNAP* directories.

For example, neutron configs are installed in $SNAP_COMMON/etc/neutron
which has a symlink at /etc/neutron.

The neutron apps then use the traditional directories when running
commands and services.

Change-Id: I392ba95cfaad1509b58beb2f82ba865b73971d5a
2017-03-21 12:47:52 +00:00
2017-03-21 12:47:52 +00:00
2016-11-24 16:58:29 +00:00
2016-11-24 16:43:02 +00:00
2017-03-21 12:47:52 +00:00
2016-11-24 16:43:02 +00:00
2016-11-24 16:43:02 +00:00
2016-11-24 16:46:08 +00:00
2017-01-04 09:20:32 +00:00
2017-03-21 12:47:52 +00:00
2017-03-21 12:47:52 +00:00

Neutron Snap

This repository contains the source code of the snap for the OpenStack Network service, Neutron.

This snap specifically provides the 'neutron-server' process as part of a snap based OpenStack deployment.

Installing this snap

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

sudo snap install [--edge] neutron

Configuring Neutron

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

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

etc
├── neutron
│   ├── neutron.conf
│   └── plugins
│       └── ml2
│           └── ml2_conf.ini
└── neutron.conf.d
    ├── database.conf
    ├── neutron-snap.conf
    └── keystone.conf

The neutron snap can be configured in a few ways.

Firstly the neutron-server daemon will detect and read etc/neutron/neutron.conf and etc/neutron/plugins/ml2/m2_conf.ini if they exists so you can reuse your existing tooling to write to these two files for classic style configuration.

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

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

Managing Neutron

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

sudo neutron.manage

Restarting Neutron services

To restart the neutron-service service:

sudo systemctl restart snap.neutron.api

Building the Neutron snap

Simply clone this repository and then install and run snapcraft:

git clone https://github.com/openstack-snaps/snap-neutron
sudo apt install snapcraft
cd neutron
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.

Description
Snap package for Neutron
Readme 194 KiB
Languages
Diff 65.2%
Shell 18.9%
Python 13.6%
Jinja 2.3%