Tools for writing OpenStack Snap packages
Go to file
James Page 4bd46300a3 Fixup directory creation process 2016-11-10 10:14:16 +00:00
doc/source Baseline commit 2016-11-10 09:18:28 +00:00
releasenotes Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
snap_openstack Fixup directory creation process 2016-11-10 10:14:16 +00:00
.coveragerc Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
.gitignore Fixup jinja2 loader configuration 2016-11-10 09:58:20 +00:00
.gitreview Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
.mailmap Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
.testr.conf Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
CONTRIBUTING.rst Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
HACKING.rst Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
LICENSE Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
MANIFEST.in Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
README.rst Update README a bit 2016-11-10 09:54:50 +00:00
babel.cfg Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
requirements.txt Baseline commit 2016-11-10 09:18:28 +00:00
setup.cfg Baseline commit 2016-11-10 09:18:28 +00:00
setup.py Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
test-requirements.txt Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00
tox.ini Initial Cookiecutter Commit. 2016-11-09 16:22:37 +00:00

README.rst

snap.openstack

Helpers for writing Snaps for OpenStack

This project provides a wrapper for automatically wrapping openstack commands in snaps, building out appropriate Oslo configuration and logging options on the command line.

This wrapper is used by including a snap-openstack.yaml configuration file into the root of a snap.

Setup is executed for all entry points prior to execution snap-openstack will assure that templated files are in place and that any directory structure in $SNAP_COMMON is created.

` setup: dirs: - "{snap_common}/etc/nova.conf.d" - "{snap_common}/etc/nova" - "{snap_common}/logs" templates: "nova-snap.conf.j2": "[snap_common}/etc/nova.conf.d/nova-snap.conf"`

snap-openstack.yaml should also declare entry points for the snap:

` entry_points: nova-manage: binary: nova-manage config-files: - "{snap}/etc/nova/nova.conf" - "[snap_common}/etc/nova/nova.conf" config-dirs: - "{snap_common}/etc/nova.conf.d" log-file: - "{snap_common}/logs/nova-manage.log"`

Executes the following:

` nova-manage --config-file=$SNAP/etc/nova/nova,conf \ --config-file=$SNAP_COMMON/etc/nova/nova.conf \ --config-dir=$SNAP_COMMON/etc/nova.conf.d \ --log-file=$SNAP_COMMON/logs/nova-manage.log`

entry points are designed to be executed from the snapcraft.yaml apps section using:

` command: snap-openstack nova-manage`

any additional arguments provided will be passed to the underlying binary.

Features

  • Support for classic mode snap use