Browse Source

Rework parts, add compilation of pyc

configure-hook
James Page 3 years ago
parent
commit
2e75d5cd33
  1. 277
      snapcraft.yaml

277
snapcraft.yaml

@ -1,5 +1,5 @@
name: microstack
version: alpha
version: rocky
summary: Openstack on your laptop.
description: |
Microstack gives you an easy way to develop and test Openstack
@ -298,32 +298,48 @@ apps:
- network-bind
parts:
# Keystone
keystone:
# OpenStack Python Projects, keyed off Keystone
openstack-projects:
plugin: python
python-version: python2
constraints: https://raw.githubusercontent.com/openstack/requirements/stable/rocky/upper-constraints.txt
source: http://tarballs.openstack.org/keystone/keystone-stable-rocky.tar.gz
python-packages:
- mysql-python
- libvirt-python
- oslo.cache[dogpile]
- pymysql
- pysqlite
- uwsgi
- git+https://github.com/openstack/snap.openstack#egg=snap.openstack
- http://tarballs.openstack.org/nova/nova-stable-rocky.tar.gz
- http://tarballs.openstack.org/neutron/neutron-stable-rocky.tar.gz
- http://tarballs.openstack.org/glance/glance-stable-rocky.tar.gz
- http://tarballs.openstack.org/cinder/cinder-stable-rocky.tar.gz
- http://tarballs.openstack.org/horizon/horizon-stable-rocky.tar.gz
- python-cinderclient
- python-openstackclient
- python-swiftclient
build-packages:
- gcc
- libffi-dev
- libmysqlclient-dev
- libssl-dev
- libsqlite3-dev
configure-the-things:
plugin: dump
source: src/experiments
- libxml2-dev
- libxslt1-dev
- libvirt-dev
stage-packages:
- conntrack
- coreutils
- qemu-utils
- haproxy
override-prime: |
snapcraftctl prime
# Now that everything is built, let's disable user site-packages
# as stated in PEP-0370
sed -i usr/lib/python2.7/site.py -e 's/^ENABLE_USER_SITE = None$/ENABLE_USER_SITE = False/'
# This is the last step, let's now compile all our pyc files.
./usr/bin/python2.7 -m compileall .
keystone-config:
after: [keystone]
after: [openstack-projects]
plugin: dump
source: http://tarballs.openstack.org/keystone/keystone-stable-rocky.tar.gz
organize:
@ -334,68 +350,22 @@ parts:
filesets:
etc:
- etc/keystone/*.conf
- etc/keystone/*.ini
- etc/keystone/*.json
- etc/keystone/*.templates
- etc/keystone/*
stage: [$etc]
prime: [$etc]
# Nova
nova:
after: [keystone] # We abitrarily rely on keystone to be the one to patch things
plugin: python
python-version: python2
source: http://tarballs.openstack.org/nova/nova-stable-rocky.tar.gz
python-packages:
- libvirt-python
- pymysql
- uwsgi
- python-memcached
- git+https://github.com/openstack/snap.openstack#egg=snap.openstack
constraints: https://raw.githubusercontent.com/openstack/requirements/stable/rocky/upper-constraints.txt
build-packages:
- gcc
- libffi-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
- libvirt-dev
stage-packages:
- conntrack
- coreutils
- qemu-utils
nova-config:
after: [nova]
after: [openstack-projects]
plugin: dump
source: http://tarballs.openstack.org/nova/nova-stable-rocky.tar.gz
filesets:
etc:
- etc/nova/*.conf
- etc/nova/*.ini
- etc/nova/*.json
- etc/nova/rootwrap.d
- etc/nova/*
stage: [$etc]
prime: [$etc]
neutron:
after: [keystone] # We arbitrarily rely on keystone to patch some things
plugin: python
python-version: python2
source: http://tarballs.openstack.org/neutron/neutron-stable-rocky.tar.gz
python-packages:
- pymysql
- python-memcached
- git+https://github.com/openstack/snap.openstack#egg=snap.openstack
constraints: https://raw.githubusercontent.com/openstack/requirements/stable/rocky/upper-constraints.txt
build-packages:
- gcc
- libffi-dev
- libssl-dev
neutron-config:
after: [neutron]
after: [openstack-projects]
plugin: dump
source: http://tarballs.openstack.org/neutron/neutron-stable-rocky.tar.gz
organize:
@ -409,37 +379,8 @@ parts:
stage: [$etc]
prime: [$etc]
neutron-dependencies:
after: [neutron]
plugin: nil
stage-packages:
- haproxy
# Glance
glance:
after: [keystone] # We arbitrarily rely on keystone to patch some things
plugin: python
python-version: python2
source: http://tarballs.openstack.org/glance/glance-stable-rocky.tar.gz
python-packages:
- httplib2
- os-brick
- oslo.rootwrap
- oslo.vmware
- pymysql
- python-cinderclient
- python-memcached
- python-swiftclient
- git+https://github.com/openstack/snap.openstack#egg=snap.openstack
constraints: https://raw.githubusercontent.com/openstack/requirements/stable/rocky/upper-constraints.txt
build-packages:
- gcc
- libffi-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
glance-config:
after: [glance]
after: [openstack-projects]
plugin: dump
source: http://tarballs.openstack.org/glance/glance-stable-rocky.tar.gz
organize:
@ -448,9 +389,34 @@ parts:
etc/*.json: etc/glance/
filesets:
etc:
- etc/glance/*.conf
- etc/glance/*.ini
- etc/glance/*.json
- etc/glance/*
stage: [$etc]
prime: [$etc]
cinder-config:
after: [cinder]
plugin: dump
source: http://tarballs.openstack.org/cinder/cinder-stable-rocky.tar.gz
organize:
etc/*.conf: etc/cinder/
etc/*.ini: etc/cinder/
etc/*.json: etc/cinder/
etc/*.templates: etc/cinder/
filesets:
etc:
- etc/cinder/*
stage: [$etc]
prime: [$etc]
horizon-config:
after: [openstack-projects]
plugin: dump
source: http://tarballs.openstack.org/horizon/horizon-stable-rocky.tar.gz
organize:
etc/*.conf: etc/horizon/
filesets:
etc:
- etc/horizon/*
stage: [$etc]
prime: [$etc]
@ -501,26 +467,6 @@ parts:
after:
- openvswitch
# Openstack Shared Parts
templates:
after:
- keystone-config
- nova-config
- neutron-config
- glance-config
- ovs-wrapper
- qemu
- kvm-support
- libvirt
- mysql-server
- rabbitmq-server
- memcached
- cinder-config
- horizon-config
- python-openstackclient
plugin: dump
source: snap
nginx:
after: [keystone, nova, neutron, openvswitch]
source: http://www.nginx.org/download/nginx-1.13.0.tar.gz
@ -642,7 +588,6 @@ parts:
# * is not used to avoid directory merge conflicts
snap/microstack/current/: ./
# MySQL
mysql-server:
plugin: dump
@ -671,7 +616,7 @@ parts:
rabbitmq-defaults: usr/lib/rabbitmq/lib/rabbitmq_server-3.5.7/sbin/rabbitmq-defaults
erl: usr/bin/erl
# Memcached
# Memcached Token Caching
memcached:
plugin: autotools
source: https://memcached.org/files/memcached-1.5.10.tar.gz
@ -684,7 +629,7 @@ parts:
make
make install
# Cinder
# Cinder LVM backend
lvm2:
source: http://www.sourceware.org/pub/lvm2/releases/LVM2.2.02.172.tgz
plugin: autotools
@ -692,78 +637,8 @@ parts:
- --with-confdir=/var/snap/common/etc/
- --with-default-system-dir=/var/snap/common/etc/
build-attributes: [no-patchelf]
cinder:
after: [keystone]
plugin: python
python-version: python2
source: http://tarballs.openstack.org/cinder/cinder-stable-rocky.tar.gz
python-packages:
- python-memcached
- pymysql
- uwsgi
- git+https://github.com/openstack/snap.openstack#egg=snap.openstack
constraints: https://raw.githubusercontent.com/openstack/requirements/stable/rocky/upper-constraints.txt
build-packages:
- gcc
- libffi-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
cinder-config:
after: [cinder]
plugin: dump
source: http://tarballs.openstack.org/cinder/cinder-stable-rocky.tar.gz
organize:
etc/*.conf: etc/cinder/
etc/*.ini: etc/cinder/
etc/*.json: etc/cinder/
etc/*.templates: etc/cinder/
filesets:
etc:
- etc/cinder/*.conf
- etc/cinder/*.ini
- etc/cinder/*.json
- etc/cinder/*.templates
stage: [$etc]
prime: [$etc]
# Horizon
horizon:
after: [keystone]
plugin: python
python-version: python2
source: http://tarballs.openstack.org/horizon/horizon-stable-rocky.tar.gz
python-packages:
- uwsgi
- git+https://github.com/openstack/snap.openstack#egg=snap.openstack
constraints: https://raw.githubusercontent.com/openstack/requirements/stable/rocky/upper-constraints.txt
build-packages:
- gcc
- libffi-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
horizon-config:
after: [horizon]
plugin: dump
source: http://tarballs.openstack.org/horizon/horizon-stable-rocky.tar.gz
organize:
etc/*.conf: etc/horizon/
filesets:
etc:
- etc/horizon/*.conf
stage: [$etc]
prime: [$etc]
# Openstackclient
python-openstackclient:
after: [keystone]
plugin: python
python-version: python2
python-packages:
- python-openstackclient==3.15.0
constraints: https://raw.githubusercontent.com/openstack/requirements/stable/rocky/upper-constraints.txt
# Misc utils for hypervisor networking
bridge-utils:
source: https://www.kernel.org/pub/linux/utils/net/bridge-utils/bridge-utils-1.6.tar.gz
plugin: autotools
@ -791,3 +666,27 @@ parts:
- libmnl-dev
configflags:
- "--with-kmod=no"
# Openstack Shared Parts
templates:
after:
- keystone-config
- nova-config
- neutron-config
- glance-config
- cinder-config
- horizon-config
- openvswitch
- qemu
- kvm-support
- libvirt
- mysql-server
- rabbitmq-server
- memcached
plugin: dump
source: snap
configure-the-things:
plugin: dump
source: src/experiments
Loading…
Cancel
Save