snap-nova-hypervisor/snapcraft.yaml
Corey Bryant 73681fbe5d Use auto-alias for neutron-*-cleanup
The current snaps now have well-known aliases defined at install time
for commands [1]. This means we can drop the manual alias definition
from snapcraft.yaml and the instructions for setting it up.

When building/installing locally users can still create the aliases
with 'snap alias'.

[1] https://forum.snapcraft.io/t/auto-aliases-for-openstack-base-snaps/1146/6

Change-Id: I2eef1705d5e1c01e4f8b76ebdbbaf64374df7272
2017-07-11 20:22:41 +00:00

245 lines
6.6 KiB
YAML

name: nova-hypervisor
version: ocata
summary: OpenStack Compute Service - KVM Hypervisor (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 hypervisor component of an OpenStack
deployment, configured to use Libvirt/KVM + Open vSwitch
installed using debian packages on the hosting server.
confinement: strict
grade: devel
apps:
nova-compute:
command: snap-openstack nova-compute
daemon: simple
plugs:
- network
- network-bind
- network-control
- firewall-control
- hardware-observe
- libvirt
- openvswitch
nova-api-metadata:
command: snap-openstack nova-api-metadata
daemon: simple
plugs:
- network
- network-bind
- firewall-control
neutron-openvswitch-agent:
command: snap-openstack neutron-openvswitch-agent
daemon: simple
plugs:
- network
- network-bind
- network-control
- network-observe
- firewall-control
- process-control
- system-observe
- openvswitch
neutron-l3-agent:
command: snap-openstack neutron-l3-agent
daemon: simple
plugs:
- network
- network-bind
- network-control
- network-observe
- firewall-control
- process-control
- system-observe
- openvswitch
neutron-dhcp-agent:
command: snap-openstack neutron-dhcp-agent
daemon: simple
plugs:
- network
- network-bind
- network-control
- network-observe
- process-control
- system-observe
- openvswitch
neutron-metadata-agent:
command: snap-openstack neutron-metadata-agent
daemon: simple
plugs:
- network
- network-bind
- network-control
neutron-ovs-cleanup:
command: snap-openstack neutron-ovs-cleanup
plugs:
- network
- network-control
- openvswitch
neutron-netns-cleanup:
command: snap-openstack neutron-netns-cleanup
plugs:
- network
- network-control
parts:
bridge-utils:
source: https://www.kernel.org/pub/linux/utils/net/bridge-utils/bridge-utils-1.6.tar.gz
plugin: autotools
iproute2:
source: https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-4.9.0.tar.gz
plugin: autotools
build-packages:
- bison
- flex
- libdb5.3-dev
iptables:
source: http://iptables.netfilter.org/projects/iptables/files/iptables-1.6.0.tar.bz2
plugin: autotools
build-packages:
- libnftnl-dev
configflags:
- --disable-nftables
install: |
cp --remove-destination $SNAPCRAFT_PART_INSTALL/sbin/xtables-multi $SNAPCRAFT_PART_INSTALL/bin/iptables-xml
ipset:
source: http://ipset.netfilter.org/ipset-6.30.tar.bz2
plugin: autotools
build-packages:
- libltdl-dev
- libmnl-dev
configflags:
- "--with-kmod=no"
libxml2:
source: http://xmlsoft.org/sources/libxml2-2.9.4.tar.gz
plugin: autotools
dnsmasq:
source: http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.76.tar.xz
plugin: make
build-packages:
- libgmp-dev
- libidn11-dev
- libnetfilter-conntrack-dev
- nettle-dev
organize:
usr/local/sbin/dnsmasq: bin/dnsmasq
filesets:
bin:
- bin/dnsmasq
stage: [$bin]
prime: [$bin]
prepare: |
export SNAP_ROOT="../../../"
export SNAP_SOURCE="$SNAP_ROOT/parts/dnsmasq/build"
patch -d $SNAP_SOURCE -p1 < $SNAP_ROOT/patches/drop-setuid-from-dnsmasq.patch
dnsmasq-lease:
source: http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.76.tar.xz
plugin: make
make-parameters:
- "-C"
- "contrib/lease-tools"
build-packages:
- libgmp-dev
- libidn11-dev
- libnetfilter-conntrack-dev
- nettle-dev
artifacts:
- contrib/lease-tools/dhcp_release
- contrib/lease-tools/dhcp_release6
- contrib/lease-tools/dhcp_lease_time
organize:
contrib/lease-tools/dhcp_release: bin/dhcp_release
contrib/lease-tools/dhcp_release6: bin/dhcp_release6
contrib/lease-tools/dhcp_lease_time: bin/dhcp_lease_time
filesets:
bin:
- bin/dhcp_release
- bin/dhcp_release6
- bin/dhcp_lease_time
stage: [$bin]
prime: [$bin]
openvswitch:
source: http://openvswitch.org/releases/openvswitch-2.6.1.tar.gz
plugin: autotools
build-packages:
- libnuma-dev
- libssl-dev
- python-all
- python-setuptools
- python-six
filesets:
bin:
- bin/ovs-*ctl
- bin/ovsdb-tool
- bin/ovsdb-client
stage: [$bin]
snap: [$bin]
nova:
after:
- openvswitch
plugin: python
python-version: python2
source: http://tarballs.openstack.org/nova/nova-stable-ocata.tar.gz
python-packages:
- libvirt-python
- pymysql
- python-memcached
- http://tarballs.openstack.org/neutron/neutron-stable-ocata.tar.gz
- http://tarballs.openstack.org/nova-lxd/nova-lxd-stable-ocata.tar.gz
- 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
- libvirt-dev
- libxml2-dev
- libxslt1-dev
stage-packages:
- conntrack
- coreutils
- qemu-utils
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
patch -d $SNAP_SITE_PACKAGES -p1 < $SNAP_ROOT/patches/drop-setuid-from-neutron.patch
patch -d $SNAP_SITE_PACKAGES -p1 < $SNAP_ROOT/patches/drop-use-of-fchownat.patch
templates:
after: [nova]
plugin: dump
source: snap
config-nova:
after: [nova]
plugin: dump
source: http://tarballs.openstack.org/nova/nova-stable-ocata.tar.gz
filesets:
etc:
- etc/nova/*
stage: [$etc]
snap: [$etc]
config-neutron:
after: [nova]
plugin: dump
source: http://tarballs.openstack.org/neutron/neutron-stable-ocata.tar.gz
organize:
etc/*.conf: etc/neutron/
etc/*.ini: etc/neutron/
etc/*.json: etc/neutron/
etc/rootwrap.d/*: etc/neutron/rootwrap.d/
filesets:
etc:
- etc/neutron/*
stage: [$etc]
snap: [$etc]