Corey Bryant 110b773d98 Move common utility functions to Utils class
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
2017-04-06 17:34:48 +00:00
2016-11-21 12:29:29 +00:00
2016-11-09 16:22:37 +00:00
2016-11-09 16:22:37 +00:00
2016-11-10 09:58:20 +00:00
2016-11-09 16:22:37 +00:00
2016-11-09 16:22:37 +00:00
2016-11-09 16:22:37 +00:00
2016-11-09 16:22:37 +00:00
2016-11-09 16:22:37 +00:00
2016-11-10 12:43:45 +00:00
2016-11-09 16:22:37 +00:00
2016-11-09 16:22:37 +00:00
2016-11-10 12:18:22 +00:00
2016-11-10 09:18:28 +00:00
2016-11-09 16:22:37 +00:00
2016-11-21 12:29:29 +00:00

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
Description
Tools for writing OpenStack Snap packages
Readme 348 KiB
Languages
Python 99.1%
reStructuredText 0.9%