
Common utility functions that were defined in base.py are moved to their own Utils class. Additionally this patch adds some checks to ensure keys exist in setup() before attempting to access them. Change-Id: Ib940eefce140e3552f41ff0e32123ae90fe81fe4
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:
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
Features
- Support for classic mode snap use
Description
Languages
Python
99.1%
reStructuredText
0.9%