forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
2 changed files
with
214 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
DIST mitaka-nova.conf.sample 36427 SHA256 dd4c3ccab89fbe9f69df520f47d439c7ffa440d3f8b288b0ab99ac328a02ec75 SHA512 169671bde5cb5bb89065d801f80aa0d3c664af652d9ddb0c409ed3e0af2c0b94f1dbd0ebf834849e3e75dc38972935ec65a6e533d86148a7315839597d577cad WHIRLPOOL 20f95a296c3d112a532c9c5cc911d30b67472868d94bcfd52fadfd7105f9095a6b77020ca1caa6a70319548239358868d809feed363a82e4d574aceb6e5f016d | ||
DIST newton-nova.conf.sample 44496 SHA256 a7d9b95e67b77d0335edac760e037ad117d8c9f18c4792939ba8bb02739eae58 SHA512 ac917f0fed24c6705cbe43b4e1af31138bb656ea06f0cbe66d5b820677a47ca854abf6ca7fdf76a9a7f3a5afff758dac294ffd778d1bda82bb9f95c48d103d6e WHIRLPOOL 3c54dc8e4721f4289a8f64e9ac215c4b2e4b6afd2904fea4080659d3c292dcd942535d998b463efa4dd96a6090afb9830dfa6b9b3f2062439a8d03ec09356adc | ||
DIST nova-13.1.1.tar.gz 5407219 SHA256 1af74830f52deb24ca0f25acf150c2338a414ccd2082bbb31092d55d28a92a9d SHA512 18866a1fb9e1e94b91b27d72318401de755255be3b3fd374f156ccf88c84697a8f54b6f5be17842f55b5ff323f19d778213925dbeb4ae9c02225d2b3fb56b3cc WHIRLPOOL d5bd05f773b49cf309f02ea34c7d5cbbd82078a17a7aadc66ebd1ed9dd8180a036f31d74d27ea6f1af644eaa873e0e955a52b44ee66448ea93e0507561055d50 | ||
DIST nova-13.1.2.tar.gz 5419167 SHA256 8e6762e09ff3bb1ab401881657faa460c75b32b730ca55e89b3de0a921843b99 SHA512 3ea9e4a26ef10dc6175b417d66817ed5f00915197fd7184778a2ce70ef56208a5e5e6c8fe72228c90eb4999b278eb9a2f6743f5430f1e14e5b5aa2d7c53e79f7 WHIRLPOOL bd025f3a434332acf61da52f9df72d644f1cea19e38a702c39939e32a8a45b1996340b1f93f253e9844098e0cfb73dc286cfadb13181751545f4b8356342487d | ||
DIST nova-14.0.0.tar.gz 5567908 SHA256 95fc42853904493e5897188fcb92c760770c08efc7cf31f2d9a9a57450e54f76 SHA512 cfa4aefbb6703ea3bb7324b1e402eb1eb879fd0a8717d81e713402331a5505dd107f4cba043b9c9515c68e5725d243fa62656760782335bdd248d99a55b5080c WHIRLPOOL 4697191e2099facfea552fbcbbf91445ef655b9ba8847468f5335182eeb75e455916e183851a4b3357881904e3e5586fd46978bf3a23ffb4bf9b82edbe5a5313 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,213 @@ | ||
# Copyright 1999-2016 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=6 | ||
PYTHON_COMPAT=( python2_7 ) | ||
|
||
inherit distutils-r1 eutils linux-info multilib user | ||
|
||
DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python" | ||
HOMEPAGE="https://launchpad.net/nova" | ||
SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz | ||
https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/mitaka/nova.conf.sample -> mitaka-nova.conf.sample" | ||
|
||
LICENSE="Apache-2.0" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~arm64 ~x86" | ||
IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite" | ||
REQUIRED_USE=" | ||
!compute-only? ( || ( mysql postgres sqlite ) ) | ||
compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )" | ||
|
||
CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" | ||
DEPEND=" | ||
>=dev-python/setuptools-16.0[${PYTHON_USEDEP}] | ||
!~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}] | ||
${CDEPEND} | ||
app-admin/sudo" | ||
|
||
RDEPEND=" | ||
${CDEPEND} | ||
compute-only? ( | ||
>=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] | ||
<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] | ||
) | ||
sqlite? ( | ||
>=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] | ||
<dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] | ||
) | ||
mysql? ( | ||
dev-python/mysql-python | ||
>=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] | ||
<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] | ||
) | ||
postgres? ( | ||
dev-python/psycopg:2 | ||
>=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] | ||
<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] | ||
) | ||
>=dev-python/boto-2.32.1[${PYTHON_USEDEP}] | ||
>=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] | ||
>=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] | ||
>=dev-python/jinja-2.8[${PYTHON_USEDEP}] | ||
>=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] | ||
!~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] | ||
>=dev-python/lxml-2.3[${PYTHON_USEDEP}] | ||
>=dev-python/routes-1.12.3[${PYTHON_USEDEP}] | ||
!~dev-python/routes-2.0[${PYTHON_USEDEP}] | ||
!~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] | ||
!~dev-python/routes-2.3.0[${PYTHON_USEDEP}] | ||
>=dev-python/cryptography-1.0[${PYTHON_USEDEP}] | ||
!~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] | ||
>=dev-python/webob-1.2.3[${PYTHON_USEDEP}] | ||
>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] | ||
>=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] | ||
>=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] | ||
dev-python/paste[${PYTHON_USEDEP}] | ||
>=dev-python/prettytable-0.7[${PYTHON_USEDEP}] | ||
<dev-python/prettytable-0.8[${PYTHON_USEDEP}] | ||
>=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] | ||
>=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}] | ||
!~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] | ||
>=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] | ||
>=dev-python/paramiko-1.16.0[${PYTHON_USEDEP}] | ||
>=dev-python/Babel-1.3[${PYTHON_USEDEP}] | ||
!~dev-python/Babel-2.3.0[${PYTHON_USEDEP}] | ||
!~dev-python/Babel-2.3.1[${PYTHON_USEDEP}] | ||
!~dev-python/Babel-2.3.2[${PYTHON_USEDEP}] | ||
!~dev-python/Babel-2.3.3[${PYTHON_USEDEP}] | ||
>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}] | ||
>=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}] | ||
!~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}] | ||
<dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}] | ||
>=dev-python/python-cinderclient-1.3.1[${PYTHON_USEDEP}] | ||
>=dev-python/keystoneauth-2.1.0[${PYTHON_USEDEP}] | ||
>=dev-python/python-neutronclient-2.6.0[${PYTHON_USEDEP}] | ||
!~dev-python/python-neutronclient-4.1.0[${PYTHON_USEDEP}] | ||
>=dev-python/python-glanceclient-2.0.0[${PYTHON_USEDEP}] | ||
>=dev-python/requests-2.8.1[${PYTHON_USEDEP}] | ||
!~dev-python/requests-2.9.0[${PYTHON_USEDEP}] | ||
>=dev-python/six-1.9.0[${PYTHON_USEDEP}] | ||
>=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}] | ||
>=dev-python/setuptools-16.0[${PYTHON_USEDEP}] | ||
!~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}] | ||
>=dev-python/websockify-0.6.1[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-concurrency-3.7.1[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-config-3.7.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-utils-3.5.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-db-4.1.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-rootwrap-2.0.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-messaging-4.0.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-policy-0.5.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-service-1.0.0[${PYTHON_USEDEP}] | ||
>=dev-python/rfc3986-0.2.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] | ||
>=dev-python/psutil-1.1.1[${PYTHON_USEDEP}] | ||
<dev-python/psutil-2.0.0[${PYTHON_USEDEP}] | ||
>=dev-python/oslo-versionedobjects-1.5.0[${PYTHON_USEDEP}] | ||
>=dev-python/alembic-0.8.0[${PYTHON_USEDEP}] | ||
>=dev-python/os-brick-1.0.0[${PYTHON_USEDEP}] | ||
!~dev-python/os-brick-1.4.0[${PYTHON_USEDEP}] | ||
>=dev-python/os-win-0.2.3[${PYTHON_USEDEP}] | ||
>=dev-python/castellan-0.3.1[${PYTHON_USEDEP}] | ||
dev-python/libvirt-python[${PYTHON_USEDEP}] | ||
app-emulation/libvirt[iscsi?] | ||
novncproxy? ( www-apps/novnc ) | ||
sys-apps/iproute2 | ||
openvswitch? ( <=net-misc/openvswitch-2.5.9999 ) | ||
rabbitmq? ( net-misc/rabbitmq-server ) | ||
memcached? ( net-misc/memcached | ||
<=dev-python/python-memcached-1.57 ) | ||
sys-fs/sysfsutils | ||
sys-fs/multipath-tools | ||
net-misc/bridge-utils | ||
compute? ( | ||
app-cdr/cdrkit | ||
sys-fs/dosfstools | ||
app-emulation/qemu | ||
) | ||
iscsi? ( | ||
sys-fs/lsscsi | ||
>=sys-block/open-iscsi-2.0.872-r3 | ||
)" | ||
|
||
#PATCHES=( | ||
#) | ||
|
||
pkg_setup() { | ||
linux-info_pkg_setup | ||
CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ | ||
IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \ | ||
NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \ | ||
ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT" | ||
if linux_config_exists; then | ||
for module in ${CONFIG_CHECK_MODULES}; do | ||
linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" | ||
done | ||
fi | ||
enewgroup nova | ||
enewuser nova -1 -1 /var/lib/nova nova | ||
} | ||
|
||
python_prepare_all() { | ||
sed -i '/^hacking/d' test-requirements.txt || die | ||
distutils-r1_python_prepare_all | ||
} | ||
|
||
python_install() { | ||
distutils-r1_python_install | ||
|
||
if use !compute-only; then | ||
for svc in api cert conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do | ||
newinitd "${FILESDIR}/nova.initd" "nova-${svc}" | ||
done | ||
fi | ||
use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute" | ||
use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy" | ||
|
||
diropts -m 0750 -o nova -g qemu | ||
dodir /var/log/nova /var/lib/nova/instances | ||
diropts -m 0750 -o nova -g nova | ||
|
||
insinto /etc/nova | ||
insopts -m 0640 -o nova -g nova | ||
newins "${DISTDIR}/mitaka-nova.conf.sample" "nova.conf.sample" | ||
doins "${S}/etc/nova/"* | ||
#rootwrap filters | ||
insopts -m 0644 | ||
insinto /etc/nova/rootwrap.d | ||
newins "${FILESDIR}/etc.mitaka/rootwrap.d/api-metadata.filters" "api-metadata.filters" | ||
newins "${FILESDIR}/etc.mitaka/rootwrap.d/compute.filters" "compute.filters" | ||
newins "${FILESDIR}/etc.mitaka/rootwrap.d/network.filters" "network.filters" | ||
#copy migration conf file (not coppied on install via setup.py script) | ||
insinto /usr/$(get_libdir)/python2.7/site-packages/nova/db/sqlalchemy/migrate_repo/ | ||
doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg" | ||
#copy the CA cert dir (not coppied on install via setup.py script) | ||
cp -R "${S}/nova/CA" "${D}/usr/$(get_libdir)/python2.7/site-packages/nova/" || die "installing CA files failed" | ||
|
||
#add sudoers definitions for user nova | ||
insinto /etc/sudoers.d/ | ||
insopts -m 0600 -o root -g root | ||
doins "${FILESDIR}/nova-sudoers" | ||
|
||
if use iscsi ; then | ||
# Install udev rules for handle iscsi disk with right links under /dev | ||
udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules | ||
|
||
insinto /etc/nova/ | ||
doins "${FILESDIR}/scsi-openscsi-link.sh" | ||
fi | ||
} | ||
|
||
pkg_postinst() { | ||
if use iscsi ; then | ||
elog "iscsid needs to be running if you want cinder to connect" | ||
fi | ||
} |