
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
123 lines
3.5 KiB
YAML
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
|