snap-nova/snapcraft.yaml
Corey Bryant da4138e3f5 Switch back to strict confinement
The following are included in the switch to strict confinement:
* Set snapcraft.yaml confinement to strict and restore/update plugs
* Drop building of python as it's not required for strict snaps
* Switch back to running apps under root
* Patch setgroups from ngnix since it's not covered by a plug
* Build libxml into snap

Change-Id: Ibd2e3c625ceb92cb4b6dd9f0c9a9012baf7c53a5
2017-06-22 00:41:19 +00:00

123 lines
3.5 KiB
YAML

name: nova
version: ocata
summary: OpenStack Compute Service (nova)
description: |
OpenStack Nova provides a cloud computing fabric controller,
supporting a wide variety of compute technologies, including
.
libvirt (KVM, Xen, LXC and more),
LXD
Hyper-V
VMware
XenServer
OpenStack Ironic.
.
This snap provides the Nova controller component of an OpenStack
deployment.
confinement: strict
grade: devel
apps:
api:
command: snap-openstack nova-api-os-compute
daemon: simple
plugs:
- network-bind
uwsgi:
command: snap-openstack nova-uwsgi
daemon: simple
environment:
OS_PLACEMENT_CONFIG_DIR: $SNAP/etc/nova/
plugs:
- network-bind
nginx:
command: snap-openstack nova-nginx
daemon: forking
plugs:
- browser-support
- network-bind
conductor:
command: snap-openstack nova-conductor
daemon: simple
plugs:
- network
scheduler:
command: snap-openstack nova-scheduler
daemon: simple
plugs:
- network
consoleauth:
command: snap-openstack nova-consoleauth
daemon: simple
plugs:
- network
manage:
command: snap-openstack nova-manage
aliases:
- nova-manage
plugs:
- network
parts:
nova:
plugin: python
python-version: python2
source: http://tarballs.openstack.org/nova/nova-stable-ocata.tar.gz
python-packages:
- pymysql
- uwsgi
- python-memcached
- git+https://github.com/openstack/snap.openstack#egg=snap.openstack
constraints: https://raw.githubusercontent.com/openstack/requirements/stable/ocata/upper-constraints.txt
build-packages:
- gcc
- libffi-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
install: |
touch $SNAPCRAFT_PART_INSTALL/lib/python2.7/site-packages/paste/__init__.py
touch $SNAPCRAFT_PART_INSTALL/lib/python2.7/site-packages/repoze/__init__.py
export SNAP_ROOT="../../../"
export SNAP_SITE_PACKAGES="$SNAPCRAFT_PART_INSTALL/lib/python2.7/site-packages"
patch -d $SNAP_SITE_PACKAGES -p1 < $SNAP_ROOT/patches/oslo-config-dirs.patch
templates:
after: [nova]
plugin: dump
source: snap
config:
after: [nova]
plugin: dump
source: http://tarballs.openstack.org/nova/nova-stable-ocata.tar.gz
filesets:
etc:
- etc/nova/*.conf
- etc/nova/*.ini
- etc/nova/*.json
- etc/nova/rootwrap.d
stage: [$etc]
prime: [$etc]
nginx:
source: http://www.nginx.org/download/nginx-1.13.0.tar.gz
plugin: autotools
configflags:
- --prefix=/usr
- --http-log-path=/var/snap/nova/common/log/nginx-access.log
- --error-log-path=/var/snap/nova/common/log/nginx-error.log
- --lock-path=/var/snap/nova/common/lock/nginx.lock
- --pid-path=/var/snap/nova/common/run/nginx.pid
- --http-client-body-temp-path=/var/snap/nova/common/lib/nginx_client_body
- --http-proxy-temp-path=/var/snap/nova/common/lib/nginx_proxy
- --http-fastcgi-temp-path=/var/snap/nova/common/lib/nginx_fastcgi
- --http-uwsgi-temp-path=/var/snap/nova/common/lib/nginx_uwsgi
- --http-scgi-temp-path=/var/snap/nova/common/lib/nginx_scgi
build-packages:
- libpcre3-dev
- libssl-dev
prepare: |
export SNAP_ROOT="../../../"
export SNAP_SOURCE="$SNAP_ROOT/parts/nginx/build"
patch -d $SNAP_SOURCE -p1 < $SNAP_ROOT/patches/drop-nginx-setgroups.patch
libxml2:
source: http://xmlsoft.org/sources/libxml2-2.9.4.tar.gz
plugin: autotools