summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-04-13 15:42:05 +0000
committerFrancisco Redondo Marchena <francisco.marchena@codethink.co.uk>2015-04-14 16:30:11 +0000
commitd1083e5fccd5e7c7694ee8ac0b0a50c525dd2dec (patch)
tree7e8a5fb723c2038f56a471689eb973699b0b8fc0
parent501218d6271d09adfd09b6cb2dc0a7d9a85c2097 (diff)
downloaddefinitions-d1083e5fccd5e7c7694ee8ac0b0a50c525dd2dec.tar.gz
Add Openstack system
Add Openstack system and stratum pointing they components to Juno tag 2014.2.1. Signed-off-by: Pedro Alvarez <pedro.alvarez@codethink.co.uk> Signed-off-by: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk> Signed-off-by: Richard Maw <richard.maw@codethink.co.uk> Signed-off-by: Richard Ipsum <richard.ipsum@codethink.co.uk> Signed-off-by: Patrick Darley <patrick.darley@codethink.co.uk> Signed-off-by: Zara Zaimeche <zara.zaimeche@codethink.co.uk> Signed-off-by: Mike Smith <mike.smith@codethink.co.uk> Change-Id: I06566b7a5eb894889b60508ad6fa2a66ebb1df9e
-rw-r--r--strata/openstack-services.morph837
-rw-r--r--strata/openstack-services/cinder.morph18
-rw-r--r--strata/openstack-services/horizon.morph59
-rw-r--r--strata/openstack-services/ipaddr-py.morph6
-rw-r--r--strata/openstack-services/librabbitmq.morph10
-rw-r--r--strata/openstack-services/neutron.morph17
-rw-r--r--strata/openstack-services/nova.morph18
-rw-r--r--strata/openstack-services/novnc.morph11
-rw-r--r--strata/openstack-services/open-iscsi.morph45
-rw-r--r--strata/openstack-services/pies.morph11
-rw-r--r--strata/openstack-services/pycrypto.morph3
-rw-r--r--strata/openstack-services/python-xattr.morph8
-rw-r--r--strata/openstack-services/qpid-python.morph6
-rw-r--r--strata/openstack-services/rabbitmq-codegen.morph7
-rw-r--r--strata/openstack-services/rabbitmq-server.morph16
-rw-r--r--strata/openstack-services/rtslib-fb.morph27
-rw-r--r--strata/openstack-services/subunit.morph3
-rw-r--r--strata/openstack-services/tempest.morph7
-rw-r--r--strata/openstack-services/thrift.morph6
-rw-r--r--systems/openstack-server.morph65
20 files changed, 1180 insertions, 0 deletions
diff --git a/strata/openstack-services.morph b/strata/openstack-services.morph
new file mode 100644
index 00000000..3288350b
--- /dev/null
+++ b/strata/openstack-services.morph
@@ -0,0 +1,837 @@
+name: openstack-services
+kind: stratum
+description: Openstack clients and services
+build-depends:
+- morph: strata/erlang.morph
+- morph: strata/django.morph
+- morph: strata/xstatic.morph
+- morph: strata/openstack-clients.morph
+chunks:
+- name: rabbitmq-codegen
+ morph: strata/openstack-services/rabbitmq-codegen.morph
+ ref: 4dc5ccde2a0b3d638e5754b00abf94196fe9ca32
+ unpetrify-ref: rabbitmq_v3_4_1
+ repo: upstream:rabbitmq-codegen
+- name: rabbitmq-server
+ morph: strata/openstack-services/rabbitmq-server.morph
+ ref: 9afcf9b95d2c53f866e9a33ddce46562f8950ded
+ unpetrify-ref: baserock/master
+ repo: upstream:rabbitmq-server
+ build-depends:
+ - rabbitmq-codegen
+- name: oslo-rootwrap
+ repo: upstream:openstack/oslo-rootwrap
+ ref: 62d732277de5cf663172eafe6d3a6c149a9cf814
+ unpetrify-ref: master
+- name: check
+ repo: upstream:check
+ ref: 8c872aca6675e95fa47e7514e28fbdf25fce6170
+ unpetrify-ref: 0.9.8
+- name: cppunit
+ repo: upstream:cppunit
+ ref: 8133cf2b977f013216f0a41b6fcb740410d83926
+ unpetrify-ref: 1.13.2
+- name: webob
+ repo: upstream:python-packages/webob
+ ref: ae0ac90f22f9e1ff351e445f92330efd89195f51
+ unpetrify-ref: 1.4
+- name: greenlet
+ ref: 42b65a7b67dfabd180625155cd4fcd8e51917fe2
+ unpetrify-ref: 0.4.5
+ repo: upstream:python-packages/greenlet
+- name: eventlet
+ ref: 8d2474197de4827a7bca9c33e71a82573b6fc721
+ unpetrify-ref: v0.15.2
+ repo: upstream:python-packages/eventlet
+ build-depends:
+ - greenlet
+- name: py-amqp
+ repo: upstream:python-packages/py-amqp
+ ref: 875b10d1715def640042c7ff2f42c00a6c07eed1
+ unpetrify-ref: 1.4.6
+- name: librabbitmq
+ morph: strata/openstack-services/librabbitmq.morph
+ repo: upstream:python-packages/librabbitmq
+ ref: 0087f3c6fa81d4ec4c573319ee2149a5db7018e6
+ unpetrify-ref: baserock/v1.6.1
+ build-depends:
+ - py-amqp
+- name: anyjson
+ repo: upstream:python-packages/anyjson
+ ref: 016506078e94718e1fe750eb5083ab5ba07498c8
+ unpetrify-ref: 0.3.3
+- name: kombu
+ repo: upstream:python-packages/kombu
+ ref: 6e68e54b3a846faa6f8b7e14a4a7ca51d1967bc2
+ unpetrify-ref: v3.0.23
+ build-depends:
+ - anyjson
+ - py-amqp
+ - librabbitmq
+- name: sqlalchemy
+ repo: upstream:python-packages/sqlalchemy
+ ref: ff34c480dfd2b8b7c72339d196f5477980a5124c
+ unpetrify-ref: rel_0_9_8
+- name: mako
+ repo: upstream:python-packages/mako.git
+ ref: 285bc818a50ccc0f9549630f7c4f4c250585c3e7
+ unpetrify-ref: rel_1_0_0
+- name: alembic
+ repo: upstream:python-packages/alembic
+ ref: 5f952f25caa688d89204d134ee867de7dbad917c
+ unpetrify-ref: rel_0_7_1
+ build-depends:
+ - sqlalchemy
+ - mako
+- name: lockfile
+ repo: upstream:python-packages/lockfile
+ ref: 777758cdf4520271370b3338b86b5c66f9b104f0
+ unpetrify-ref: master
+- name: dogpile-core
+ repo: upstream:python-packages/dogpile-core
+ ref: 3e6f0f86b4161b48898e656039154092426e5cc8
+ unpetrify-ref: rel_0_4_1
+- name: dogpile-cache
+ repo: upstream:python-packages/dogpile-cache
+ ref: 1c753914b335b4391bc5847a87b7c52ca81c2bc6
+ unpetrify-ref: rel_0_5_4
+ build-depends:
+ - dogpile-core
+- name: pyjwt
+ repo: upstream:python-packages/pyjwt
+ ref: 739efeff4c6c1fc30ab5cf5eb0ac337e8ee107d7
+ unpetrify-ref: 0.2.3
+- name: creole
+ repo: upstream:python-packages/creole
+ ref: 6390231688adb5d8678a71cd33204e9bca555d4a
+ unpetrify-ref: v1.2.1
+- name: mock
+ repo: upstream:python-packages/mock
+ ref: 35b35f7ad239005a950f870af57b44dbdc99d66b
+ unpetrify-ref: master
+- name: nose
+ repo: upstream:python-packages/nose
+ ref: 08d134270b035dac3310cd877bb0fe9ab678303a
+ unpetrify-ref: release_1.3.4
+- name: pygments
+ repo: upstream:python-packages/pygments
+ ref: f41e8c594e76855611b3b3dfca300894bd29f1c4
+ unpetrify-ref: 2.0rc1
+- name: docutils
+ repo: upstream:python-packages/docutils
+ ref: 1976ba91eff979abc3e13e5d8cb68324833af6a0
+ unpetrify-ref: docutils-0.12
+- name: snowballstemmer
+ repo: upstream:python-packages/snowballstemmer.git
+ ref: f0d81ce1606d685029302ea073b59d9437d12569
+ unpetrify-ref: master
+- name: sphinx
+ repo: upstream:python-packages/sphinx
+ ref: e76c9771bad16e68cdb7deb18b4d13de0a718c68
+ unpetrify-ref: 1.3b1
+ build-depends:
+ - pygments
+ - docutils
+ - snowballstemmer
+- name: logilab-common
+ repo: upstream:python-packages/logilab-common.git
+ ref: d1d8f793af6d015d885b9ea67b5741d5a093e2f4
+ unpetrify-ref: logilab-common-version-0.62.0
+- name: astroid
+ repo: upstream:python-packages/astroid.git
+ ref: 7657331baa162122890aa4327f4f441cde9f5188
+ unpetrify-ref: astroid-1.2.1
+ build-depends:
+ - logilab-common
+- name: pylint
+ repo: upstream:python-packages/pylint
+ ref: 541466c31aae21c7cfbf30470f0f6a2dc0a948c3
+ unpetrify-ref: pylint-1.3.1
+ build-depends:
+ - logilab-common
+ - astroid
+- name: python-markdown
+ repo: upstream:python-markdown
+ ref: f0c5b71acbc02af60a33d67c59558bb513b25e74
+ unpetrify-ref: 2.5.1-final
+- name: pystache
+ repo: upstream:python-packages/pystache.git
+ ref: 0c5e61a4ccc05bde7f6c6132b4fb6c49a3c093fd
+ unpetrify-ref: baserock/v0.5.4
+- name: pies
+ repo: upstream:python-packages/pies.git
+ ref: 593dcce07fdb3e8d0053a863a7aba7f2ce8a6c9c
+ unpetrify-ref: 2.6.1
+- name: natsort
+ repo: upstream:python-packages/natsort.git
+ ref: ce94d418c3849e891f0508b41f5bccc4ae1d4e4d
+ unpetrify-ref: 3.5.1
+- name: isort
+ repo: upstream:python-packages/isort.git
+ ref: 9d1b03b6e1fd2f87be1c635d6159a76a131f8155
+ unpetrify-ref: 3.9.0
+ build-depends:
+ - pies
+ - natsort
+- name: pep8
+ repo: upstream:python-packages/pep8.git
+ ref: 164066c4d85f212f5f4a11699b848942c678b947
+ unpetrify-ref: 1.5.7
+- name: pyflakes
+ repo: upstream:python-packages/pyflakes.git
+ ref: 71b7b6776856912d50a0b9a85a8ea2a1dc7eb75c
+ unpetrify-ref: 0.8.1
+- name: smartypants
+ repo: upstream:python-packages/smartypants.git
+ ref: e89b6e7e119694edcd414a556c634d5ca85bff76
+ unpetrify-ref: v1.8.6
+ build-depends:
+ - isort
+ - pep8
+ - pyflakes
+ - pylint
+- name: pycco
+ repo: upstream:python-packages/pycco
+ ref: 22e157e525760e843dba391ca85fbe9bd35fdc5b
+ unpetrify-ref: master
+ build-depends:
+ - python-markdown
+ - pygments
+ - pystache
+ - smartypants
+- name: python-decorator
+ repo: upstream:python-packages/python-decorator
+ ref: b02f7a254c3679dfac57a824e08dd02ced850636
+ unpetrify-ref: decorator-3.4.0
+- name: dateutil
+ repo: upstream:python-packages/dateutil
+ ref: 8c6026ba09716a4e164f5420120bfe2ebb2d9d82
+ unpetrify-ref: trunk
+- name: posix-ipc-tarball
+ repo: upstream:python-packages/posix-ipc-tarball
+ ref: f3765db04b903b3671733e07cf1541a51966dd14
+ unpetrify-ref: posix_ipc-0.9.8
+- name: pastedeploy
+ repo: upstream:python-packages/pastedeploy
+ ref: 5ad87be617c2cc1dd31625688172e964db2756dc
+ unpetrify-ref: 1.5.2
+- name: paste
+ repo: upstream:python-packages/paste
+ ref: 4c177fce89fee925f0f4fbfde00ce2e1252562c0
+ unpetrify-ref: master
+- name: repoze-lru
+ repo: upstream:python-packages/repoze-lru
+ ref: 29c8281dee7fe8dae8c66c7c40ce7c058ec2ab0f
+ unpetrify-ref: 0.6
+- name: routes
+ repo: upstream:python-packages/routes
+ ref: 8b165a52ab568f6fcaaa11cbbc7402e0360f60a3
+ unpetrify-ref: v2.0
+ build-depends:
+ - repoze-lru
+- name: passlib
+ repo: upstream:python-packages/passlib
+ ref: f407312597727a08440e41bc8e31d3b3b334c66f
+ unpetrify-ref: 1.6.2
+- name: tempita
+ repo: upstream:python-packages/tempita
+ ref: b2b67795a009e9f825cbd855d766b78a00273f10
+ unpetrify-ref: 0.5
+- name: cython
+ repo: upstream:cython
+ ref: f66e01ff743b6d010245a08b144a94e474f29967
+ unpetrify-ref: 0.21.1
+- name: numpy
+ repo: upstream:python-packages/numpy.git
+ ref: ac07f6d3e45090b224a7da81708e60a762a65f76
+ unpetrify-ref: baserock/v1.9.0
+ build-depends:
+ - cython
+ - sphinx
+- name: websockify
+ repo: upstream:python-packages/websockify
+ ref: e0863aa0c2103069961bc24e618615a0f2bb1487
+ unpetrify-ref: baserock/v0.6.0
+ build-depends:
+ - numpy
+- name: python-mimeparse
+ repo: upstream:python-packages/python-mimeparse.git
+ ref: 2d600d3fc4a386af69d20fba433843b4df2b3c92
+ unpetrify-ref: master
+- name: httplib2
+ ref: 058a1f9448d5c27c23772796f83a596caf9188e6
+ unpetrify-ref: v0.9
+ repo: upstream:python-packages/httplib2
+- name: extras
+ repo: upstream:python-packages/python-test-extras.git
+ ref: cdeb596f01241e9c779332e86f6edcd0c2e8e9f0
+ unpetrify-ref: master
+- name: testtools
+ repo: upstream:python-packages/testtools
+ ref: ee9946228ce5a03a84cf146027de0a8a9a46c4fe
+ unpetrify-ref: testools-1.1.0
+ build-depends:
+ - extras
+ - python-mimeparse
+- name: fixtures
+ repo: upstream:python-packages/fixtures
+ ref: 9f9d89ce718463b24cd3910b9a99efb60b3c9e1b
+ unpetrify-ref: 0.3.16
+ build-depends:
+ - testtools
+- name: subunit
+ morph: strata/openstack-services/subunit.morph
+ repo: upstream:python-packages/subunit
+ ref: e18ffe65a3229d5c1d91be988405d40219db0887
+ unpetrify-ref: 0.0.21
+ build-depends:
+ - extras
+ - testtools
+ - check
+ - cppunit
+- name: testrepository
+ repo: upstream:python-packages/testrepository
+ ref: 6419a3dcaabaf09eaf438c6d8d85c90eba7a2b91
+ unpetrify-ref: 0.0.19
+ build-depends:
+ - fixtures
+ - subunit
+ - testtools
+- name: suds
+ repo: upstream:python-packages/suds
+ ref: badd30a87f676d632d7386b05401e6029a5df83c
+ unpetrify-ref: release-0.3.2
+- name: testscenarios
+ repo: upstream:python-packages/testscenarios
+ ref: 475857af19a8190c9c0c7f8241b9907b942e19fd
+ unpetrify-ref: trunk
+- name: mox
+ repo: upstream:python-packages/mox
+ ref: 160491d0384285698d726b1af21277f336107f51
+ unpetrify-ref: master
+- name: jsonrpclib
+ repo: upstream:python-packages/jsonrpclib
+ ref: 53c8ffcfe4dd1718086cc551dce8ac459e8abc67
+ unpetrify-ref: master
+- name: rtslib-fb
+ repo: upstream:python-packages/rtslib-fb
+ ref: 8ffb4739d596fb1aac5d62d173d1e6f80270af9d
+ unpetrify-ref: v2.1.fb52
+ morph: strata/openstack-services/rtslib-fb.morph
+- name: netifaces
+ repo: upstream:python-packages/netifaces
+ ref: 885b200ba717df87f6e8044ec8c66c677c949bcb
+ unpetrify-ref: release_0_10_4
+- name: networkx
+ repo: upstream:python-packages/networkx
+ ref: 8ac796aba866ade1a56b83e30f25ed392ca3512c
+ unpetrify-ref: v1.9.1
+ build-depends:
+ - python-decorator
+- name: dnspython
+ repo: upstream:python-packages/dnspython
+ ref: e1369c62d14f82b80ef11197a490ace5d43bb3f3
+ unpetrify-ref: v1.12.0
+- name: pexpect
+ repo: upstream:python-packages/pexpect
+ ref: 671417beb41c21f772687c565196fdde444b053b
+ unpetrify-ref: 3.3
+- name: ply
+ repo: upstream:python-packages/ply.git
+ ref: 6513f3537d80f483ec9c7e36d52e87f107a57f23
+ unpetrify-ref: master
+- name: jsonpath-rw
+ repo: upstream:python-packages/jsonpath-rw
+ ref: f4cfe56b8e8370116c5275ddcea970e9a68fd75d
+ unpetrify-ref: 1.2.3
+ build-depends:
+ - ply
+ - python-decorator
+- name: waitress
+ repo: upstream:python-packages/waitress.git
+ ref: b795d573a5a9e6e39b46a6e82da367a6a5db8dbd
+ unpetrify-ref: 0.8.9
+- name: beautifulsoup4
+ repo: upstream:python-packages/beautifulsoup4.git
+ ref: bcd7af0e9159d97aa511fb2d879424d1c1c5aadf
+ unpetrify-ref: trunk
+- name: webtest
+ repo: upstream:python-packages/webtest.git
+ ref: 6a24fba456d1c4ac2609b90f1fdc377c595608a4
+ unpetrify-ref: 2.0.16
+ build-depends:
+ - webob
+ - waitress
+ - beautifulsoup4
+- name: logutils
+ repo: upstream:python-packages/logutils.git
+ ref: 095f14efbaaf838b7772bffd36a466abb9668efe
+ unpetrify-ref: 0.3.3
+- name: pecan
+ repo: upstream:python-packages/pecan
+ ref: c7f241fd6bb8a0b10e02b8b43aaf1810c312cfbf
+ unpetrify-ref: 0.8.0
+ build-depends:
+ - webob
+ - mako
+ - webtest
+ - logutils
+- name: croniter
+ repo: upstream:python-packages/croniter
+ ref: 0c3aeac05791cb4ece9e30da29442e9cd5b22f36
+ unpetrify-ref: 0.3.5
+ build-depends:
+ - dateutil
+- name: msgpack-python
+ repo: upstream:python-packages/msgpack-python
+ ref: 61bac2f586e82313a0e618093bfed2435cd18983
+ unpetrify-ref: 0.4.2
+- name: qpid-python
+ morph: strata/openstack-services/qpid-python.morph
+ repo: upstream:python-packages/qpid-python
+ ref: 587b0febaf1996db1e483137ed6addb45580ee9e
+ unpetrify-ref: 0.30
+- name: simplegeneric-tarball
+ repo: upstream:python-packages/simplegeneric-tarball
+ ref: 601fab9b154c557dfd848d531a8969f4697d1aa2
+ unpetrify-ref: simplegeneric_0.8.1.orig
+- name: ipaddr-py
+ morph: strata/openstack-services/ipaddr-py.morph
+ ref: c813f4790d1092b1515ee18fe8270180ed3cc5cb
+ unpetrify-ref: master
+ repo: upstream:python-packages/ipaddr-py
+- name: wsme
+ repo: upstream:python-packages/wsme
+ ref: 99d7668789cc6252398222549599d1363cddb081
+ unpetrify-ref: 0.6.1
+ build-depends:
+ - ipaddr-py
+ - simplegeneric-tarball
+ - webob
+- name: pysnmp
+ repo: upstream:python-packages/pysnmp
+ ref: 1b377afeaf9ee96ab1d48aeebb2b7a6d65a4ac9d
+ unpetrify-ref: release_4_2_5_tag
+- name: thrift
+ morph: strata/openstack-services/thrift.morph
+ repo: upstream:thrift
+ ref: 591e20f9636c37527a70dc03598218c3468a0eff
+ unpetrify-ref: 0.9.2
+- name: retrying
+ repo: upstream:python-packages/retrying
+ ref: cab083eb5791615fadbc0c98ad77a70d64b77d0d
+ unpetrify-ref: v1.3.1
+- name: boto
+ repo: upstream:boto
+ ref: 2517f660f8ef9012708d46da3a36ab967993d2f6
+ unpetrify-ref: 2.33.0
+- name: oslo-messaging
+ repo: upstream:openstack/oslo-messaging
+ ref: 6ea3b12492e86f9e8d109fc3490cc4d3a0edd8b6
+ unpetrify-ref: 1.4.0.0a5
+ build-depends:
+ - eventlet
+ - kombu
+- name: oslo-vmware
+ repo: upstream:openstack/oslo-vmware
+ ref: 047d62c4bbd01a951f77a1a4a75fb2b3d8ce23ee
+ unpetrify-ref: 0.6.0
+ build-depends:
+ - suds
+ - eventlet
+- name: taskflow
+ repo: upstream:openstack/taskflow
+ ref: 1caaecc5d6b2aa4cde4a50e31d1d993fce7a66c4
+ unpetrify-ref: 0.5.0
+ build-depends:
+ - networkx
+- name: sqlalchemy-migrate
+ repo: upstream:python-packages/sqlalchemy-migrate
+ ref: 089663761cc15f8b3cdb874b6a76270ccdd0a412
+ unpetrify-ref: 0.9.1
+ build-depends:
+ - sqlalchemy
+ - python-decorator
+ - tempita
+- name: oauthlib
+ repo: upstream:python-packages/oauthlib
+ ref: de773eefcb3c1afe54a0c12d5bf9bd214ceaf404
+ unpetrify-ref: 0.6.3
+ build-depends:
+ - docutils
+ - creole
+ - pycco
+ - mock
+ - nose
+ - sphinx
+ - pyjwt
+- name: happybase
+ repo: upstream:python-packages/happybase
+ ref: 90a4b7ef741f0ecfe5145693f64c6f7180b9ba3d
+ unpetrify-ref: 0.8
+ build-depends:
+ - thrift
+- name: osprofiler
+ repo: upstream:python-packages/osprofiler
+ ref: bbe39b517263017c9db56ae1d904d08846eacff7
+ unpetrify-ref: 0.3.0
+ build-depends:
+ - webob
+- name: oslotest
+ repo: upstream:openstack/oslotest
+ ref: cfdb562a6e07728570ca624a8c4faf3f5b61423b
+ unpetrify-ref: 1.2.0
+ build-depends:
+ - fixtures
+ - subunit
+ - testrepository
+ - testscenarios
+ - testtools
+ - mock
+ - mox
+- name: pycadf
+ repo: upstream:python-packages/pycadf
+ ref: 52727bcea3a98e72331e748ce5f9e3a111a64cd1
+ unpetrify-ref: 0.6.0
+ build-depends:
+ - oslo-messaging
+ - posix-ipc-tarball
+ - webob
+- name: python-xattr
+ morph: strata/openstack-services/python-xattr.morph
+ repo: upstream:python-packages/xattr
+ ref: dd10d44e3eb9a1d2303c1f7d5126c099d56e97fc
+ unpetrify-ref: v0.7.6
+- name: keystonemiddleware
+ repo: upstream:openstack/keystonemiddleware
+ ref: a7beb50b38be5c3dd4c44d68ad79d1bb206dab6b
+ unpetrify-ref: 1.2.0
+ build-depends:
+ - webob
+- name: oslo-db
+ repo: upstream:openstack/oslo-db
+ ref: 0bb1e236daae53a3f5b4b88761d7b19f7961ed6c
+ unpetrify-ref: 1.0.2
+ build-depends:
+ - alembic
+ - sqlalchemy
+ - sqlalchemy-migrate
+- name: glance_store
+ repo: upstream:openstack/glance_store.git
+ ref: 54f673d4133c1244e2555e7ceb3344c104a74154
+ unpetrify-ref: 0.1.8
+ build-depends:
+ - eventlet
+- name: glance
+ repo: upstream:openstack/glance
+ ref: 055adff1d95dca72074da898b541cb4a6b62406d
+ unpetrify-ref: 2014.2.1
+ build-depends:
+ - greenlet
+ - sqlalchemy
+ - anyjson
+ - eventlet
+ - pastedeploy
+ - routes
+ - webob
+ - boto
+ - sqlalchemy-migrate
+ - httplib2
+ - kombu
+ - keystonemiddleware
+ - wsme
+ - oslo-vmware
+ - paste
+ - oslo-db
+ - oslo-messaging
+ - retrying
+ - osprofiler
+ - glance_store
+- name: sqlparse
+ repo: upstream:python-packages/sqlparse
+ ref: 991e7348075accae6d08025212251af21e92e664
+ unpetrify-ref: 0.1.13
+- name: keystone
+ repo: upstream:openstack/keystone
+ ref: 615f79bb97883eee76923527cea13c2f72baa7ff
+ unpetrify-ref: 2014.2.1
+ build-depends:
+ - webob
+ - eventlet
+ - greenlet
+ - pastedeploy
+ - paste
+ - routes
+ - sqlalchemy
+ - sqlalchemy-migrate
+ - passlib
+ - keystonemiddleware
+ - oslo-messaging
+ - oslo-db
+ - oauthlib
+ - dogpile-cache
+ - pycadf
+ - posix-ipc-tarball
+ - sqlparse
+- name: neutron
+ morph: strata/openstack-services/neutron.morph
+ repo: upstream:openstack/neutron
+ ref: dfa4b4b9b6b19a627cfb5eb5c6ab9db4961a06ea
+ unpetrify-ref: 2014.2.1
+ build-depends:
+ - paste
+ - pastedeploy
+ - routes
+ - anyjson
+ - eventlet
+ - greenlet
+ - httplib2
+ - jsonrpclib
+ - keystonemiddleware
+ - sqlalchemy
+ - webob
+ - alembic
+ - oslo-db
+ - oslo-messaging
+ - oslo-rootwrap
+- name: swift
+ repo: upstream:openstack/swift
+ ref: 2e8261a4dc0d0af0c4a46478b81e167bcf02220b
+ unpetrify-ref: 2.2.0
+ build-depends:
+ - dnspython
+ - eventlet
+ - greenlet
+ - netifaces
+ - pastedeploy
+ - python-xattr
+- name: trove
+ repo: upstream:openstack/trove
+ ref: a4c38cc6ddbfba2301766eced939229cccc31953
+ unpetrify-ref: 2014.2
+ build-depends:
+ - sqlalchemy
+ - eventlet
+ - keystonemiddleware
+ - kombu
+ - routes
+ - webob
+ - pastedeploy
+ - paste
+ - sqlalchemy-migrate
+ - netifaces
+ - httplib2
+ - passlib
+ - pexpect
+- name: wsgiref
+ repo: upstream:python-packages/wsgiref.git
+ ref: e8360785eef259394e13b2062407edc3c2cbc1e0
+ unpetrify-ref: baserock/master
+- name: rfc3986
+ repo: upstream:python-packages/python-rfc3986.git
+ ref: 9817ec3e47bca8fba9a7cac56d785e9d644f7473
+ unpetrify-ref: rfc3986-0.2.0
+- name: urwid
+ repo: upstream:python-packages/urwid
+ ref: 838839f7a300a774240d52f943aafd6ff44b2413
+ unpetrify-ref: release-1.3.0
+- name: configshell-fb
+ repo: upstream:python-packages/configshell-fb
+ ref: 8c151ccdd75956da60b2304417c41a60a2c28231
+ unpetrify-ref: v1.1.fb17
+- name: targetcli-fb
+ repo: upstream:python-packages/targetcli
+ ref: c62610f3c2da6b4d364028c18bcc7f0d3da54477
+ unpetrify-ref: v2.1.fb39
+ build-depends:
+ - configshell-fb
+ - rtslib-fb
+- name: sysfsutils
+ repo: upstream:sysfsutils
+ ref: 237bf36e664db92f95b75067bf0f246726993254
+ unpetrify-ref: sysfsutils-2_1_0
+- name: open-iscsi
+ morph: strata/openstack-services/open-iscsi.morph
+ repo: upstream:open-iscsi
+ ref: 8da14e6f9eeeb4fd03938d40fe1126fe0d110b68
+ unpetrify-ref: master
+- name: nova
+ morph: strata/openstack-services/nova.morph
+ repo: upstream:openstack/nova
+ ref: ba25e9ea6d0d42dd3b78cc6440710fd9362ae1b5
+ unpetrify-ref: 2014.2.1
+ build-depends:
+ - sqlalchemy
+ - anyjson
+ - boto
+ - python-decorator
+ - eventlet
+ - keystonemiddleware
+ - kombu
+ - routes
+ - webob
+ - greenlet
+ - pastedeploy
+ - paste
+ - sqlalchemy-migrate
+ - suds
+ - posix-ipc-tarball
+ - websockify
+ - wsgiref
+ - oslo-db
+ - oslo-rootwrap
+ - pycadf
+ - oslo-messaging
+ - lockfile
+ - rfc3986
+ - oslo-vmware
+- name: cinder
+ morph: strata/openstack-services/cinder.morph
+ repo: upstream:openstack/cinder
+ ref: b48aee211ad9b2571c8554dd162b37b8a8d80a42
+ unpetrify-ref: 2014.2.1
+ build-depends:
+ - anyjson
+ - eventlet
+ - greenlet
+ - keystonemiddleware
+ - kombu
+ - oslo-db
+ - oslo-messaging
+ - oslo-rootwrap
+ - osprofiler
+ - paste
+ - pastedeploy
+ - routes
+ - taskflow
+ - rtslib-fb
+ - sqlalchemy
+ - sqlalchemy-migrate
+ - suds
+ - webob
+ - wsgiref
+- name: kazoo
+ repo: upstream:python-packages/kazoo.git
+ ref: 93a718ea4c20df797766742c3d74de281613c651
+ unpretrify-ref: 2.0
+- name: pymemcache
+ repo: upstream:python-packages/pymemcache.git
+ ref: 3824d3b0bcdea3e8d0c08598bedfce10fd3c79e0
+ unpetrify-ref: master
+ build-depends:
+ - nose
+- name: zake
+ repo: upstream:python-packages/zake.git
+ ref: 13b92d9db4ad37d9550ef5c5abd323a2530a1e72
+ unpetrify-ref: master
+ build-depends:
+ - kazoo
+ - testtools
+- name: sysv_ipc-tarball
+ repo: upstream:python-packages/sysv-ipc-tarball.git
+ ref: a77e3a63f004e6ee789fa05e4a5bbc333b1529f1
+ unpetrify-ref: sysv_ipc-0.6.8
+- name: tooz
+ repo: upstream:python-packages/tooz.git
+ ref: a90940a506b7c1bf52ef7d2f2ff52204fdcc6221
+ unpetrify-ref: 0.7
+ build-depends:
+ - kazoo
+ - pymemcache
+ - zake
+ - sysv_ipc-tarball
+ - msgpack-python
+ - retrying
+- name: ceilometer
+ repo: upstream:openstack/ceilometer
+ ref: 94579bfc81b820380d03703e4e2311b3bd25c022
+ unpetrify-ref: 2014.2
+ build-depends:
+ - alembic
+ - anyjson
+ - croniter
+ - eventlet
+ - happybase
+ - jsonpath-rw
+ - keystonemiddleware
+ - lockfile
+ - msgpack-python
+ - oslo-db
+ - oslo-rootwrap
+ - oslo-vmware
+ - pastedeploy
+ - pecan
+ - posix-ipc-tarball
+ - oslo-messaging
+ - pysnmp
+ - sqlalchemy
+ - sqlalchemy-migrate
+ - tooz
+ - webob
+ - wsme
+- name: heat
+ repo: upstream:openstack/heat
+ ref: c06772571a81383aa37336a78d72d455067b75e8
+ unpetrify-ref: 2014.2
+ build-depends:
+ - eventlet
+ - greenlet
+ - httplib2
+ - keystonemiddleware
+ - kombu
+ - oslo-db
+ - oslo-messaging
+ - pastedeploy
+ - posix-ipc-tarball
+ - qpid-python
+ - routes
+ - sqlalchemy
+ - sqlalchemy-migrate
+ - webob
+- name: django-openstack-auth
+ repo: upstream:openstack/django_openstack_auth
+ ref: e676c88a329af57d6c4f13df54f6e1e06c1f8360
+ unpetrify-ref: 1.1.8
+- name: horizon
+ morph: strata/openstack-services/horizon.morph
+ repo: upstream:openstack/horizon
+ ref: 3d9a31e2a05288e9a48a51eb4fe693c42e92aac7
+ unpetrify-ref: 2014.2.1
+ build-depends:
+ - django-openstack-auth
+ - lockfile
+- name: novnc
+ morph: strata/openstack-services/novnc.morph
+ repo: upstream:novnc
+ ref: fc00821eba469641c6c94706726c3d78e46460a2
+ unpetrify-ref: v0.5.1
+- name: oauth
+ repo: upstream:python-packages/oauthlib
+ ref: fd239fca84644896b1971cf24bc6213d065adb86
+ unpetrify-ref: 0.072
+- name: pyserial
+ repo: upstream:python-packages/pyserial
+ ref: bcfc1ec2fdb9a8c9c867481d7673e85fe512e667
+ unpetrify-ref: release2_7
+- name: testresources
+ repo: upstream:python-packages/testresources
+ ref: ef938bcce0e436f9e9ffef932a898dc248a1d6ea
+ unpetrify-ref: 0.2.7
+ build-depends:
+ - testtools
+ - fixtures
+ - check
+ - cppunit
+- name: mox3
+ repo: upstream:python-packages/pymox
+ ref: 444fa40f4edb529efbffa2da8dbd97e9b8564b5c
+ unpetrify-ref: master
+- name: mocker
+ repo: upstream:python-packages/mocker
+ ref: f7f87e4ac1c52342162cf2035f5fe3d273f8b07f
+ unpetrify-ref: master
+- name: tempest
+ morph: strata/openstack-services/tempest.morph
+ repo: upstream:openstack/tempest.git
+ ref: acba5510785258949679304f3e1a55e53b851962
+ unpetrify-ref: "2"
diff --git a/strata/openstack-services/cinder.morph b/strata/openstack-services/cinder.morph
new file mode 100644
index 00000000..cd680b09
--- /dev/null
+++ b/strata/openstack-services/cinder.morph
@@ -0,0 +1,18 @@
+name: cinder
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+# Install rootwrap.conf
+- install -D -m 640 etc/cinder/rootwrap.conf "$DESTDIR"/etc/cinder/rootwrap.conf
+# Move rootwrap files to a proper location
+- mkdir -p "$DESTDIR"/etc/cinder/rootwrap.d
+- install -D -m 644 etc/cinder/rootwrap.d/* "$DESTDIR"/etc/cinder/rootwrap.d/
+# Add cinder to sudoers controlling which commands will run as a root
+# using the openstack rootwrap.
+- mkdir -p "$DESTDIR"/etc/sudoers.d
+- |
+ install -D -m 0440 /proc/self/fd/0 <<'EOF' "$DESTDIR"/etc/sudoers.d/cinder-rootwrap
+ Defaults:cinder !requiretty
+
+ cinder ALL=(root) NOPASSWD: /usr/bin/cinder-rootwrap /etc/cinder/rootwrap.conf *
+ EOF
diff --git a/strata/openstack-services/horizon.morph b/strata/openstack-services/horizon.morph
new file mode 100644
index 00000000..ae6399b1
--- /dev/null
+++ b/strata/openstack-services/horizon.morph
@@ -0,0 +1,59 @@
+name: horizon
+kind: chunk
+configure-commands:
+# Remove unnecessary .mo files they will be generated
+# later during package build.
+- find . -name "django*.mo" -exec rm -f '{}' \;
+# Set COMPRESS_OFFLINE=True
+- |
+ sed -i 's:COMPRESS_OFFLINE.=.False:COMPRESS_OFFLINE = True:' \
+ openstack_dashboard/settings.py
+build-commands:
+# Compile message strings
+- cd horizon && django-admin.py compilemessages && cd ..
+- cd openstack_dashboard && django-admin.py compilemessages && cd ..
+- python setup.py build
+post-build-commands:
+# Use the local_settings.py example to compile and compress the css, js, etc files.
+# This is a hack to make SECRET_KEY work.
+- |
+ cp openstack_dashboard/local/local_settings.py.example \
+ openstack_dashboard/local/local_settings.py
+# Collect the static files and compress them.
+- python manage.py collectstatic --noinput
+- python manage.py compress --force
+install-commands:
+# Undo hack
+- |
+ cp openstack_dashboard/local/local_settings.py.example \
+ openstack_dashboard/local/local_settings.py
+# Install horizon
+- python setup.py install -O1 --skip-build --prefix "$PREFIX" --root "$DESTDIR"
+post-install-commands:
+# Remove unnecessary .po files
+- find "$DESTDIR" -name django.po -exec rm '{}' \;
+- find "$DESTDIR" -name djangojs.po -exec rm '{}' \;
+# Link Openstack local_settings where openstack_dashboard is installed.
+- mkdir -p "$DESTDIR"/var/lib/horizon/openstack_dashboard/local
+- |
+ ln -sf /etc/horizon/openstack_dashboard/local_settings.py \
+ "$DESTDIR$PREFIX"/lib/python2.7/site-packages/openstack_dashboard/local/local_settings.py
+# Create the static directory (STATIC_ROOT) used in local_settings.py to keep
+# the static objects like css files.
+- mkdir -p "$DESTDIR"/var/lib/horizon/openstack_dashboard/static
+# Copy the compressed static files to horizon.
+- cp -a openstack_dashboard/static/* "$DESTDIR"/var/lib/horizon/openstack_dashboard/static
+- cp -a horizon/static/* "$DESTDIR"/var/lib/horizon/openstack_dashboard/static
+- cp -a static/* "$DESTDIR"/var/lib/horizon/openstack_dashboard/static
+# Work around to make django.wsgi working with horizon
+# See: https://bugs.launchpad.net/osprofiler/+bug/1361235
+# and: https://git.openstack.org/cgit/openstack/tripleo-image-elements/commit/?id=41c9a1dfad23f8aee366afb6a0b20a6c57ec8f79
+- |
+ sed -i "s|'../..'|os.path.realpath('../..')|" \
+ "$DESTDIR$PREFIX"/lib/python2.7/site-packages/openstack_dashboard/wsgi/django.wsgi
+# And link this django.wsgi file to the horizon home directory
+- |
+ ln -sf "$PREFIX"/lib/python2.7/site-packages/openstack_dashboard/wsgi/django.wsgi \
+ "$DESTDIR"/var/lib/horizon/openstack_dashboard/django.wsgi
+# Create the horizon document root for apache configuration
+- mkdir -p "$DESTDIR"/var/lib/horizon/.blackhole
diff --git a/strata/openstack-services/ipaddr-py.morph b/strata/openstack-services/ipaddr-py.morph
new file mode 100644
index 00000000..f6691ab7
--- /dev/null
+++ b/strata/openstack-services/ipaddr-py.morph
@@ -0,0 +1,6 @@
+name: ipaddr-py
+kind: chunk
+build-commands:
+- cd trunk && python setup.py build
+install-commands:
+- cd trunk && python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/strata/openstack-services/librabbitmq.morph b/strata/openstack-services/librabbitmq.morph
new file mode 100644
index 00000000..b87ce369
--- /dev/null
+++ b/strata/openstack-services/librabbitmq.morph
@@ -0,0 +1,10 @@
+name: librabbitmq
+kind: chunk
+build-system: python-distutils
+configure-commands:
+- (cd rabbitmq-c; rm -rf codegen; ln -sf ../rabbitmq-codegen ./codegen)
+- (cd rabbitmq-c; autoreconf -fvi)
+- (cd rabbitmq-c; automake --add-missing)
+- (cd rabbitmq-c; ./configure --disable-tools --disable-docs)
+- (cd rabbitmq-c; make distdir)
+- mv rabbitmq-c/rabbitmq-c-0.5.3 clib
diff --git a/strata/openstack-services/neutron.morph b/strata/openstack-services/neutron.morph
new file mode 100644
index 00000000..b79a089b
--- /dev/null
+++ b/strata/openstack-services/neutron.morph
@@ -0,0 +1,17 @@
+name: neutron
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+# Move rootwrap files to a proper location
+- mkdir -p "$DESTDIR"/etc/neutron
+- mv "$DESTDIR$PREFIX"/etc/neutron/rootwrap.d "$DESTDIR"/etc/neutron/
+- mv "$DESTDIR$PREFIX"/etc/neutron/rootwrap.conf "$DESTDIR"/etc/neutron/
+# Add neutron to sudoers controlling which commands is running as a root
+# using the openstack rootwrap.
+- mkdir -p "$DESTDIR"/etc/sudoers.d
+- |
+ install -D -m 0440 /proc/self/fd/0 <<'EOF' "$DESTDIR"/etc/sudoers.d/neutron-rootwrap
+ Defaults:neutron !requiretty
+
+ neutron ALL=(root) NOPASSWD: /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf *
+ EOF
diff --git a/strata/openstack-services/nova.morph b/strata/openstack-services/nova.morph
new file mode 100644
index 00000000..bb6dd756
--- /dev/null
+++ b/strata/openstack-services/nova.morph
@@ -0,0 +1,18 @@
+name: nova
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+# Install rootwrap.conf
+- install -D -m 640 etc/nova/rootwrap.conf "$DESTDIR"/etc/nova/rootwrap.conf
+# Move rootwrap files to a proper location
+- mkdir -p "$DESTDIR"/etc/nova/rootwrap.d
+- install -D -m 644 etc/nova/rootwrap.d/* "$DESTDIR"/etc/nova/rootwrap.d/
+# Add nova to sudoers controlling which commands will run as a root
+# using the openstack rootwrap.
+- mkdir -p "$DESTDIR"/etc/sudoers.d
+- |
+ install -D -m 0440 /proc/self/fd/0 <<'EOF' "$DESTDIR"/etc/sudoers.d/nova-rootwrap
+ Defaults:nova !requiretty
+
+ nova ALL=(root) NOPASSWD: /usr/bin/nova-rootwrap /etc/nova/rootwrap.conf *
+ EOF
diff --git a/strata/openstack-services/novnc.morph b/strata/openstack-services/novnc.morph
new file mode 100644
index 00000000..858320a0
--- /dev/null
+++ b/strata/openstack-services/novnc.morph
@@ -0,0 +1,11 @@
+name: novnc
+kind: chunk
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/share/novnc/utils
+- install -m 444 *html "$DESTDIR$PREFIX"/share/novnc
+- install -m 444 vnc.html "$DESTDIR$PREFIX"/share/novnc/index.html
+- mkdir -p "$DESTDIR$PREFIX"/share/novnc/include
+- install -m 444 include/*.* "$DESTDIR$PREFIX"/share/novnc/include
+- mkdir -p "$DESTDIR$PREFIX"/share/novnc/images
+- install -m 444 images/*.* "$DESTDIR$PREFIX"/share/novnc/images
+- install -d "$DESTDIR"/etc/sysconfig
diff --git a/strata/openstack-services/open-iscsi.morph b/strata/openstack-services/open-iscsi.morph
new file mode 100644
index 00000000..9d135ab2
--- /dev/null
+++ b/strata/openstack-services/open-iscsi.morph
@@ -0,0 +1,45 @@
+name: open-iscsi
+kind: chunk
+build-commands:
+- make
+install-commands:
+# Rewrite prefix and exec_prefix which are set to "/usr" and "/" respectively
+- make prefix="$PREFIX" exec_prefix="$PREFIX" DESTDIR="$DESTDIR" install
+# Install iscsistart app which is not listed by default in PROGRAMS
+- make prefix="$PREFIX" exec_prefix="$PREFIX" DESTDIR="$DESTDIR" PROGRAMS="usr/iscsistart" install
+post-install-commands:
+# Configure iscsi daemon
+# Point the startup to the installed binary
+- |
+ sed -i -e "s|iscsid.startup = \/sbin\/iscsid|iscsid.startup = "$PREFIX"/sbin/iscsid|" \
+ etc/iscsid.conf
+# Start up a session automatically
+- sed -i -e 's|node.startup = manual|node.startup = automatic|' etc/iscsid.conf
+# Install config file
+- install -D -m 644 etc/iscsid.conf "$DESTDIR"/etc/iscsi
+# Install custom systemd unit file
+- |
+ install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR$PREFIX"/lib/systemd/system/iscsid.service
+ [Unit]
+ Description=Open iSCSI Daemon
+ After=network.target
+
+ [Service]
+ Type=forking
+ ExecStart=/usr/sbin/iscsid
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+# Install iscsi socket unit
+- |
+ install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR$PREFIX"/lib/systemd/system/iscsid.socket
+ [Unit]
+ Description=Open-iSCSI iscsid Socket
+
+ [Socket]
+ ListenStream=@ISCSIADM_ABSTRACT_NAMESPACE
+
+ [Install]
+ WantedBy=sockets.target
+ EOF
diff --git a/strata/openstack-services/pies.morph b/strata/openstack-services/pies.morph
new file mode 100644
index 00000000..327c1dc9
--- /dev/null
+++ b/strata/openstack-services/pies.morph
@@ -0,0 +1,11 @@
+name: pies
+kind: chunk
+configure-commands:
+- |
+ cd pies2override
+ && python setup.py build
+ && python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/strata/openstack-services/pycrypto.morph b/strata/openstack-services/pycrypto.morph
new file mode 100644
index 00000000..51cc00f0
--- /dev/null
+++ b/strata/openstack-services/pycrypto.morph
@@ -0,0 +1,3 @@
+name: pycrypto
+kind: chunk
+build-system: python-distutils
diff --git a/strata/openstack-services/python-xattr.morph b/strata/openstack-services/python-xattr.morph
new file mode 100644
index 00000000..7916bbf2
--- /dev/null
+++ b/strata/openstack-services/python-xattr.morph
@@ -0,0 +1,8 @@
+name: python-xattr
+kind: chunk
+configure-commands:
+- cp -r /usr/lib/python2.7/site-packages/cffi .
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/strata/openstack-services/qpid-python.morph b/strata/openstack-services/qpid-python.morph
new file mode 100644
index 00000000..203b3db5
--- /dev/null
+++ b/strata/openstack-services/qpid-python.morph
@@ -0,0 +1,6 @@
+name: qpid-python
+kind: chunk
+build-commands:
+- cd qpid/python && python setup.py build
+install-commands:
+- cd qpid/python && python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/strata/openstack-services/rabbitmq-codegen.morph b/strata/openstack-services/rabbitmq-codegen.morph
new file mode 100644
index 00000000..2b06aeb5
--- /dev/null
+++ b/strata/openstack-services/rabbitmq-codegen.morph
@@ -0,0 +1,7 @@
+name: rabbitmq-codegen
+kind: chunk
+configure-commands: []
+build-commands: []
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/lib/rabbitmq-codegen
+- cp * "$DESTDIR$PREFIX"/lib/rabbitmq-codegen
diff --git a/strata/openstack-services/rabbitmq-server.morph b/strata/openstack-services/rabbitmq-server.morph
new file mode 100644
index 00000000..97b8a126
--- /dev/null
+++ b/strata/openstack-services/rabbitmq-server.morph
@@ -0,0 +1,16 @@
+name: rabbitmq-server
+kind: chunk
+configure-commands:
+- mkdir -p codegen
+- cp /usr/lib/rabbitmq-codegen/* codegen
+build-commands:
+- make
+install-commands:
+- |
+ make install_bin TARGET_DIR="$DESTDIR$PREFIX" \
+ SBIN_DIR="$DESTDIR$PREFIX"/sbin \
+ MAN_DIR="$PREFIX"/share/man \
+ DOC_INSTALL_DIR="$PREFIX"/share
+
+post-install-commands:
+- rm "$DESTDIR$PREFIX"/LICENSE* "$DESTDIR$PREFIX"/INSTALL
diff --git a/strata/openstack-services/rtslib-fb.morph b/strata/openstack-services/rtslib-fb.morph
new file mode 100644
index 00000000..26de3f9b
--- /dev/null
+++ b/strata/openstack-services/rtslib-fb.morph
@@ -0,0 +1,27 @@
+name: rtslib-fb
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/lib/systemd/system
+
+# The following systemd unit is from the fedora package see
+# http://pkgs.fedoraproject.org/cgit/python-rtslib.git/tree/target.service for
+# more information
+
+- |
+ install -D -m 0644 /proc/self/fd/0 <<'EOF' "$DESTDIR$PREFIX"/lib/systemd/system/target.service
+ [Unit]
+ Description=Restore LIO kernel target configuration
+ Requires=sys-kernel-config.mount
+ After=sys-kernel-config.mount network.target local-fs.target
+
+ [Service]
+ Type=oneshot
+ RemainAfterExit=yes
+ ExecStart=/usr/bin/targetctl restore
+ ExecStop=/usr/bin/targetctl clear
+ SyslogIdentifier=target
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
diff --git a/strata/openstack-services/subunit.morph b/strata/openstack-services/subunit.morph
new file mode 100644
index 00000000..b7b43a39
--- /dev/null
+++ b/strata/openstack-services/subunit.morph
@@ -0,0 +1,3 @@
+name: python-subunit
+kind: chunk
+build-system: autotools
diff --git a/strata/openstack-services/tempest.morph b/strata/openstack-services/tempest.morph
new file mode 100644
index 00000000..8eca0f94
--- /dev/null
+++ b/strata/openstack-services/tempest.morph
@@ -0,0 +1,7 @@
+name: tempest
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+- mkdir -p "$DESTDIR"/etc/tempest
+- cp -R * "$DESTDIR"/etc/tempest
+- cp .testr.conf "$DESTDIR"/etc/tempest
diff --git a/strata/openstack-services/thrift.morph b/strata/openstack-services/thrift.morph
new file mode 100644
index 00000000..39062351
--- /dev/null
+++ b/strata/openstack-services/thrift.morph
@@ -0,0 +1,6 @@
+name: thrift
+kind: chunk
+build-system: autotools
+max-jobs: 1
+pre-configure-commands:
+- ./bootstrap.sh
diff --git a/systems/openstack-server.morph b/systems/openstack-server.morph
new file mode 100644
index 00000000..593794e0
--- /dev/null
+++ b/systems/openstack-server.morph
@@ -0,0 +1,65 @@
+name: openstack-system-x86_64
+kind: system
+description: Openstack system in baserock for the x86_64 architecture
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: python-core
+ morph: strata/python-core.morph
+- name: python-common
+ morph: strata/python-common.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: coreutils-common
+ morph: strata/coreutils-common.morph
+- name: devtools
+ morph: strata/devtools.morph
+- name: tools
+ morph: strata/tools.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
+- name: lvm
+ morph: strata/lvm.morph
+- name: virtualization
+ morph: strata/virtualization.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: networking-utils
+ morph: strata/networking-utils.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: databases
+ morph: strata/databases.morph
+- name: erlang
+ morph: strata/erlang.morph
+- name: pcre-utils
+ morph: strata/pcre-utils.morph
+- name: apache-httpd-server
+ morph: strata/apache-httpd-server.morph
+- name: django
+ morph: strata/django.morph
+- name: xstatic
+ morph: strata/xstatic.morph
+- name: openstack-common
+ morph: strata/openstack-common.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: openstack-services
+ morph: strata/openstack-services.morph
+- name: ansible
+ morph: strata/ansible.morph
+- name: ntpd
+ morph: strata/ntpd.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- cloud-init
+- hosts