Tools for writing OpenStack Snap packages
c472632a22
Change-Id: Id75e3dd648951279be3e85f4654a1e77c1744745 |
||
---|---|---|
doc/source | ||
releasenotes | ||
snap_openstack | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
babel.cfg | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
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.
- Free software: Apache license
- Source: http://git.openstack.org/cgit/openstack/snap.openstack
- Bugs: http://bugs.launchpad.net/snap.openstack
Features
- Support for classic mode snap use