
Drop build of libxml2 (picked from distro). Use NGINX 1.12.x series (as this is the stable version). Use constraints file from OpenStack Pike due to transient dependency bumps on PyPI causing build failures.
117 lines
3.7 KiB
YAML
117 lines
3.7 KiB
YAML
name: gnocchi
|
|
version: 4.0.3
|
|
summary: Time Series Database as a Service
|
|
description: |
|
|
Gnocchi is an open-source, multi-tenant timeseries, metrics and
|
|
resources database. It provides an HTTP REST interface to create and
|
|
manipulate the data. It is designed to store metrics at a very large
|
|
scale while providing access to metrics and resources information
|
|
and history.
|
|
confinement: strict
|
|
grade: stable
|
|
|
|
apps:
|
|
uwsgi:
|
|
command: run-wrap snap-openstack gnocchi-uwsgi
|
|
daemon: simple
|
|
plugs:
|
|
- network-bind
|
|
nginx:
|
|
command: snap-openstack gnocchi-nginx
|
|
daemon: forking
|
|
plugs:
|
|
- network-bind
|
|
metricd:
|
|
command: run-wrap snap-openstack gnocchi-metricd
|
|
daemon: simple
|
|
plugs:
|
|
- network-bind
|
|
upgrade:
|
|
command: run-wrap snap-openstack gnocchi-upgrade
|
|
plugs:
|
|
- network
|
|
change-sack-size:
|
|
command: run-wrap snap-openstack gnocchi-change-sack-size
|
|
plugs:
|
|
- network
|
|
config-generator:
|
|
command: run-wrap snap-openstack gnocchi-config-generator
|
|
plugs:
|
|
- network
|
|
|
|
parts:
|
|
gnocchi:
|
|
plugin: python
|
|
python-version: python2
|
|
source: https://pypi.python.org/packages/31/04/f4a0d82279a9be0638e0f79a141e2f6295b18ad6c65b53ef716625fa712f/gnocchi-4.0.3.tar.gz
|
|
constraints: https://raw.githubusercontent.com/openstack/requirements/stable/pike/upper-constraints.txt
|
|
python-packages:
|
|
- futurist
|
|
- keystonemiddleware
|
|
- python-memcached
|
|
- lz4
|
|
- oslo.db[mysql]
|
|
- sqlalchemy-utils
|
|
- tooz[memcached]
|
|
- uwsgi
|
|
- git+https://github.com/openstack/snap.openstack#egg=snap.openstack
|
|
build-packages:
|
|
- gcc
|
|
- libffi-dev
|
|
- libssl-dev
|
|
- libxml2-dev
|
|
- libxslt1-dev
|
|
stage-packages:
|
|
- memcached
|
|
- python-rados
|
|
install: |
|
|
touch $SNAPCRAFT_PART_INSTALL/lib/python2.7/site-packages/paste/__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-prefer-snap-common.patch
|
|
templates:
|
|
after: [gnocchi]
|
|
plugin: dump
|
|
source: snap
|
|
config:
|
|
after: [gnocchi]
|
|
plugin: dump
|
|
source: https://pypi.python.org/packages/31/04/f4a0d82279a9be0638e0f79a141e2f6295b18ad6c65b53ef716625fa712f/gnocchi-4.0.3.tar.gz
|
|
organize:
|
|
etc/*.conf: etc/gnocchi/
|
|
etc/*.ini: etc/gnocchi/
|
|
etc/*.json: etc/gnocchi/
|
|
etc/*.templates: etc/gnocchi/
|
|
gnocchi/rest/*.ini: etc/gnocchi/
|
|
gnocchi/rest/*.json: etc/gnocchi/
|
|
filesets:
|
|
etc:
|
|
- etc/gnocchi/*.conf
|
|
- etc/gnocchi/*.ini
|
|
- etc/gnocchi/*.json
|
|
- etc/gnocchi/*.templates
|
|
stage: [$etc]
|
|
prime: [$etc]
|
|
nginx:
|
|
source: http://www.nginx.org/download/nginx-1.12.2.tar.gz
|
|
plugin: autotools
|
|
configflags:
|
|
- --prefix=/usr
|
|
- --http-log-path=/var/snap/gnocchi/common/log/nginx-access.log
|
|
- --error-log-path=/var/snap/gnocchi/common/log/nginx-error.log
|
|
- --lock-path=/var/snap/gnocchi/common/lock/nginx.lock
|
|
- --pid-path=/var/snap/gnocchi/common/run/nginx.pid
|
|
- --http-client-body-temp-path=/var/snap/gnocchi/common/lib/nginx_client_body
|
|
- --http-proxy-temp-path=/var/snap/gnocchi/common/lib/nginx_proxy
|
|
- --http-fastcgi-temp-path=/var/snap/gnocchi/common/lib/nginx_fastcgi
|
|
- --http-uwsgi-temp-path=/var/snap/gnocchi/common/lib/nginx_uwsgi
|
|
- --http-scgi-temp-path=/var/snap/gnocchi/common/lib/nginx_scgi
|
|
- --with-http_ssl_module
|
|
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
|