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
- Documentation: http://docs.openstack.org/developer/snap.openstack
- Source: http://git.openstack.org/cgit/openstack/snap.openstack
- Bugs: http://bugs.launchpad.net/snap.openstack
- Support for classic mode snap use