Corey Bryant 3d8525f459 Add locking to enable single process code execution
The code in OpenStackSnap.setup() creates users, files,
directories, symlinks, etc. Locking support is added to ensure
that setup() code is only executed by a single process at a time.

Change-Id: Ia7ea6251d68284f5ea6e726e474f65d393b296ea
2017-03-22 16:40:21 +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%