Tools for writing OpenStack Snap packages
322514211b
It maps the name of the config values that we use in our templates to the name of the key in the snap config. This allows us to stick a bunch of stuff in the questions namespace in the snap config, and to use dashes, with minimal changes to our templates. Drop Python 2 support, to fix tests. Change-Id: I48b86b5e557e30f81e9cc415e7fa3a9133aa9f39 |
||
---|---|---|
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