summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Thode <prometheanfire@gentoo.org>2013-09-05 20:57:34 +0000
committerMatthew Thode <prometheanfire@gentoo.org>2013-09-05 20:57:34 +0000
commitc74c0cc0ef5bbc8edba53ee33466313ed4d78fe8 (patch)
tree012098a4ea0ff593db19386c42dbbf900773e835 /sys-cluster/nova
parentupdating websockify to 0.5.1 for sys-cluster/nova (diff)
downloadgentoo-2-c74c0cc0ef5bbc8edba53ee33466313ed4d78fe8.tar.gz
gentoo-2-c74c0cc0ef5bbc8edba53ee33466313ed4d78fe8.tar.bz2
gentoo-2-c74c0cc0ef5bbc8edba53ee33466313ed4d78fe8.zip
updatign deps, some havana stuff, some init stuff, fixing bugs 483384 482698
(Portage version: 2.1.12.2/cvs/Linux x86_64, signed Manifest commit with key 0x2471eb3e40ac5ac3)
Diffstat (limited to 'sys-cluster/nova')
-rw-r--r--sys-cluster/nova/ChangeLog11
-rw-r--r--sys-cluster/nova/files/nova-confd4
-rw-r--r--sys-cluster/nova/files/nova-initd63
-rw-r--r--sys-cluster/nova/files/nova-sudoers3
-rw-r--r--sys-cluster/nova/metadata.xml12
-rw-r--r--sys-cluster/nova/nova-2012.2.4-r5.ebuild (renamed from sys-cluster/nova/nova-2012.2.4-r4.ebuild)51
-rw-r--r--sys-cluster/nova/nova-2013.1.3-r2.ebuild (renamed from sys-cluster/nova/nova-2013.1.3.ebuild)47
-rw-r--r--sys-cluster/nova/nova-2013.1.9999.ebuild53
-rw-r--r--sys-cluster/nova/nova-9999.ebuild70
9 files changed, 256 insertions, 58 deletions
diff --git a/sys-cluster/nova/ChangeLog b/sys-cluster/nova/ChangeLog
index dcebe2f65c92..bcde2e06db55 100644
--- a/sys-cluster/nova/ChangeLog
+++ b/sys-cluster/nova/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for sys-cluster/nova
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/nova/ChangeLog,v 1.22 2013/08/22 04:55:51 prometheanfire Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/nova/ChangeLog,v 1.23 2013/09/05 20:57:34 prometheanfire Exp $
+
+*nova-2012.2.4-r5 (05 Sep 2013)
+*nova-2013.1.3-r2 (05 Sep 2013)
+
+ 05 Sep 2013; Matthew Thode <prometheanfire@gentoo.org> +files/nova-confd,
+ +files/nova-initd, +files/nova-sudoers, +nova-2012.2.4-r5.ebuild,
+ +nova-2013.1.3-r2.ebuild, -nova-2012.2.4-r4.ebuild, -nova-2013.1.3.ebuild,
+ metadata.xml, nova-2013.1.9999.ebuild, nova-9999.ebuild:
+ updatign deps, some havana stuff, some init stuff, fixing bugs 483384 482698
22 Aug 2013; Matthew Thode <prometheanfire@gentoo.org>
nova-2012.2.4-r4.ebuild, nova-2013.1.3.ebuild, nova-2013.1.9999.ebuild:
diff --git a/sys-cluster/nova/files/nova-confd b/sys-cluster/nova/files/nova-confd
new file mode 100644
index 000000000000..e18217ea030f
--- /dev/null
+++ b/sys-cluster/nova/files/nova-confd
@@ -0,0 +1,4 @@
+#Don't touch this unless you know what you are doing
+PID_PATH=/run/nova
+LOCKDIR_PATH=/var/lock/nova
+
diff --git a/sys-cluster/nova/files/nova-initd b/sys-cluster/nova/files/nova-initd
new file mode 100644
index 000000000000..952e865493b2
--- /dev/null
+++ b/sys-cluster/nova/files/nova-initd
@@ -0,0 +1,63 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+BASENAME=$(echo $SVCNAME | cut -d '-' -f 1)
+SERVERNAME=$(echo $SVCNAME | cut -d '-' -f 2)
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ if [ ! -r /etc/conf.d/$BASENAME ]; then
+ eerror "No nova conf.d file found: /etc/conf.d/$BASENAME)"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ . /etc/conf.d/$BASENAME
+
+ ebegin "Starting ${SVCNAME}"
+ if [ ! -d ${PID_PATH} ]; then
+ mkdir ${PID_PATH}
+ chown nova:root ${PID_PATH}
+ fi
+
+ if [ ! -d ${LOCKDIR_PATH} ]; then
+ mkdir ${LOCKDIR_PATH}
+ chown nova:root ${LOCKDIR_PATH}
+ fi
+
+ start-stop-daemon --start \
+ --quiet \
+ --user nova \
+ --pidfile "${PID_PATH}/${SVCNAME}.pid" \
+ --make-pidfile \
+ --background \
+ --exec /usr/bin/nova-${SERVERNAME} -- --config-file /etc/nova/nova.conf
+
+ eend $? "Failed to start ${SVCNAME}"
+}
+
+stop() {
+ checkconfig || return $?
+ . /etc/conf.d/$BASENAME
+
+ ebegin "Stopping ${SVCNAME}"
+
+ start-stop-daemon --stop \
+ --quiet \
+ --user nova \
+ --pidfile "${PID_PATH}/${SVCNAME}.pid" \
+ --exec /usr/bin/nova-${SERVERNAME} -- --config-file /etc/nova/nova.conf
+
+ eend $? "Failed to stop ${SVCNAME}"
+}
+
+#restart() {
+#
+#}
diff --git a/sys-cluster/nova/files/nova-sudoers b/sys-cluster/nova/files/nova-sudoers
new file mode 100644
index 000000000000..f15b3285b7d4
--- /dev/null
+++ b/sys-cluster/nova/files/nova-sudoers
@@ -0,0 +1,3 @@
+Defaults:nova !requiretty
+
+nova ALL = (root) NOPASSWD: /usr/bin/nova-rootwrap
diff --git a/sys-cluster/nova/metadata.xml b/sys-cluster/nova/metadata.xml
index d2bf26f9c6f4..e6379ce54911 100644
--- a/sys-cluster/nova/metadata.xml
+++ b/sys-cluster/nova/metadata.xml
@@ -9,5 +9,17 @@
Nova is a cloud computing fabric controller
(the main part of an IaaS system). It is written in Python.
</longdescription>
+ <use>
+ <flag name="api">Installs the initscripts for the nova api service</flag>
+ <flag name="cert">Installs the initscripts for the nova scheduler service</flag>
+ <flag name="compute">Installs the initscripts for the nova volume service</flag>
+ <flag name="conductor">Installs the initscripts for the nova conductor service</flag>
+ <flag name="consoleauth">Installs the initscripts for the nova consoleauth service</flag>
+ <flag name="network">Installs the initscripts for the nova network service</flag>
+ <flag name="novncproxy">Installs the initscripts for the nova novncproxy service</flag>
+ <flag name="scheduler">Installs the initscripts for the nova scheduler service</flag>
+ <flag name="spicehtml5proxy">Installs the initscripts for the nova spicehtml5proxy service</flag>
+ <flag name="xvpvncproxy">Installs the initscripts for the nova xvpvncproxy service</flag>
+ </use>
</pkgmetadata>
diff --git a/sys-cluster/nova/nova-2012.2.4-r4.ebuild b/sys-cluster/nova/nova-2012.2.4-r5.ebuild
index c6b90d561441..e721292c604b 100644
--- a/sys-cluster/nova/nova-2012.2.4-r4.ebuild
+++ b/sys-cluster/nova/nova-2012.2.4-r5.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/nova/nova-2012.2.4-r4.ebuild,v 1.3 2013/08/22 04:55:51 prometheanfire Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/nova/nova-2012.2.4-r5.ebuild,v 1.1 2013/09/05 20:57:34 prometheanfire Exp $
EAPI=5
PYTHON_COMPAT=( python2_7 )
-inherit distutils-r1 eutils
+inherit distutils-r1 eutils multilib
DESCRIPTION="Nova is a cloud computing fabric controller (main part of an
IaaS system). It is written in Python."
@@ -15,24 +15,25 @@ SRC_URI="http://launchpad.net/${PN}/folsom/${PV}/+download/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+api +cert +compute +conductor +consoleauth +network +novncproxy +scheduler +spicehtml5proxy +xvpvncproxy"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-admin/sudo"
-RDEPEND="=dev-python/amqplib-0.6.1
+RDEPEND="~dev-python/amqplib-0.6.1[${PYTHON_USEDEP}]
>=dev-python/anyjson-0.2.4[${PYTHON_USEDEP}]
>=dev-python/sqlalchemy-0.7.8
<=dev-python/sqlalchemy-0.7.9
=dev-python/boto-2.1.1[${PYTHON_USEDEP}]
- >=dev-python/eventlet-0.9.17
- =dev-python/kombu-1.0.4-r1[${PYTHON_USEDEP}]
- =dev-python/routes-1.12.3-r1[${PYTHON_USEDEP}]
- =dev-python/webob-1.0.8-r1[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.9.17[${PYTHON_USEDEP}]
+ ~dev-python/kombu-1.0.4[${PYTHON_USEDEP}]
+ ~dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ ~dev-python/webob-1.0.8[${PYTHON_USEDEP}]
>=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}]
- =dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ ~dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
dev-python/paste[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-migrate-0.7.2
- dev-python/netaddr
+ >=dev-python/sqlalchemy-migrate-0.7.2[${PYTHON_USEDEP}]
+ dev-python/netaddr[${PYTHON_USEDEP}]
=dev-python/suds-0.4
dev-python/paramiko[${PYTHON_USEDEP}]
>=dev-python/Babel-0.9.6[${PYTHON_USEDEP}]
@@ -50,11 +51,31 @@ PATCHES=(
"${FILESDIR}/2012.2.4-CVE-2013-4185.patch"
)
+pkg_setup() {
+ enewgroup nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
python_install() {
distutils-r1_python_install
+ newconfd "${FILESDIR}/nova-confd" "nova"
+ newinitd "${FILESDIR}/nova-initd" "nova"
+ use api && dosym /etc/init.d/nova /etc/init.d/nova-api
+ use cert && dosym /etc/init.d/nova /etc/init.d/nova-cert
+ use compute && dosym /etc/init.d/nova /etc/init.d/nova-compute
+ use conductor && dosym /etc/init.d/nova /etc/init.d/nova-conductor
+ use consoleauth && dosym /etc/init.d/nova /etc/init.d/nova-consoleauth
+ use network && dosym /etc/init.d/nova /etc/init.d/nova-network
+ use novncproxy &&dosym /etc/init.d/nova /etc/init.d/nova-nonvncproxy
+ use scheduler && dosym /etc/init.d/nova /etc/init.d/nova-scheduler
+ use spicehtml5proxy && dosym /etc/init.d/nova /etc/init.d/nova-spicehtml5proxy
+ use xvpvncproxy && dosym /etc/init.d/nova /etc/init.d/nova-xvpncproxy
+
+ dodir /var/log/nova
+ fowners nova:nova /var/log/nova
+
keepdir /etc/nova
insinto /etc/nova
-
newins "etc/nova/nova.conf.sample" "nova.conf"
newins "etc/nova/api-paste.ini" "api-paste.ini"
newins "etc/nova/logging_sample.conf" "logging_sample.conf"
@@ -72,4 +93,8 @@ python_install() {
#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 "isntalling CA files failed"
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ doins "${FILESDIR}/nova-sudoers"
}
diff --git a/sys-cluster/nova/nova-2013.1.3.ebuild b/sys-cluster/nova/nova-2013.1.3-r2.ebuild
index 4705be447ab8..1edf078fe4be 100644
--- a/sys-cluster/nova/nova-2013.1.3.ebuild
+++ b/sys-cluster/nova/nova-2013.1.3-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/nova/nova-2013.1.3.ebuild,v 1.3 2013/08/22 04:55:51 prometheanfire Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/nova/nova-2013.1.3-r2.ebuild,v 1.1 2013/09/05 20:57:34 prometheanfire Exp $
EAPI=5
PYTHON_COMPAT=( python2_7 )
@@ -15,25 +15,26 @@ SRC_URI="http://launchpad.net/${PN}/grizzly/${PV}/+download/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="+api +cert +compute +conductor +consoleauth +network +novncproxy +scheduler +spicehtml5proxy +xvpvncproxy"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-admin/sudo"
RDEPEND=">=dev-python/amqplib-0.6.1[${PYTHON_USEDEP}]
>=dev-python/anyjson-0.2.4[${PYTHON_USEDEP}]
- >=dev-python/cheetah-2.4.4
+ >=dev-python/cheetah-2.4.4[${PYTHON_USEDEP}]
>=dev-python/sqlalchemy-0.7.8
<=dev-python/sqlalchemy-0.7.99
dev-python/boto[${PYTHON_USEDEP}]
>=dev-python/eventlet-0.9.17[${PYTHON_USEDEP}]
>=dev-python/kombu-1.0.4-r1[${PYTHON_USEDEP}]
>=dev-python/routes-1.12.3-r1[${PYTHON_USEDEP}]
- =dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}]
+ ~dev-python/webob-1.2.3[${PYTHON_USEDEP}]
>=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}]
>=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
dev-python/paste[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-migrate-0.7.2
- dev-python/netaddr
+ >=dev-python/sqlalchemy-migrate-0.7.2[${PYTHON_USEDEP}]
+ dev-python/netaddr[${PYTHON_USEDEP}]
>=dev-python/suds-0.4
dev-python/paramiko[${PYTHON_USEDEP}]
dev-python/pyasn1[${PYTHON_USEDEP}]
@@ -44,10 +45,10 @@ RDEPEND=">=dev-python/amqplib-0.6.1[${PYTHON_USEDEP}]
>=dev-python/python-cinderclient-1.0.1[${PYTHON_USEDEP}]
>=dev-python/python-glanceclient-0.5.0[${PYTHON_USEDEP}]
<dev-python/python-glanceclient-2[${PYTHON_USEDEP}]
- >=dev-python/python-quantumclient-2.2.0[${PYTHON_USEDEP}]
- <=dev-python/python-quantumclient-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-2.2.0[${PYTHON_USEDEP}]
+ <=dev-python/python-neutronclient-3.0.0[${PYTHON_USEDEP}]
>=dev-python/python-keystoneclient-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-0.7
+ >=dev-python/stevedore-0.7[${PYTHON_USEDEP}]
<dev-python/websockify-0.4[${PYTHON_USEDEP}]
>=dev-python/oslo-config-1.1.0[${PYTHON_USEDEP}]
virtual/python-argparse[${PYTHON_USEDEP}]"
@@ -56,11 +57,31 @@ PATCHES=(
)
# "${FILESDIR}/nova-grizzly-1-CVE-2013-2096.patch"
+pkg_setup() {
+ enewgroup nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
python_install() {
distutils-r1_python_install
+ newconfd "${FILESDIR}/nova-confd" "nova"
+ newinitd "${FILESDIR}/nova-initd" "nova"
+ use api && dosym /etc/init.d/nova /etc/init.d/nova-api
+ use cert && dosym /etc/init.d/nova /etc/init.d/nova-cert
+ use compute && dosym /etc/init.d/nova /etc/init.d/nova-compute
+ use conductor && dosym /etc/init.d/nova /etc/init.d/nova-conductor
+ use consoleauth && dosym /etc/init.d/nova /etc/init.d/nova-consoleauth
+ use network && dosym /etc/init.d/nova /etc/init.d/nova-network
+ use novncproxy &&dosym /etc/init.d/nova /etc/init.d/nova-nonvncproxy
+ use scheduler && dosym /etc/init.d/nova /etc/init.d/nova-scheduler
+ use spicehtml5proxy && dosym /etc/init.d/nova /etc/init.d/nova-spicehtml5proxy
+ use xvpvncproxy && dosym /etc/init.d/nova /etc/init.d/nova-xvpncproxy
+
+ dodir /var/log/nova
+ fowners nova:nova /var/log/nova
+
keepdir /etc/nova
insinto /etc/nova
-
newins "etc/nova/nova.conf.sample" "nova.conf"
doins "etc/nova/api-paste.ini"
doins "etc/nova/logging_sample.conf"
@@ -77,4 +98,8 @@ python_install() {
#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 "isntalling CA files failed"
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ doins "${FILESDIR}/nova-sudoers"
}
diff --git a/sys-cluster/nova/nova-2013.1.9999.ebuild b/sys-cluster/nova/nova-2013.1.9999.ebuild
index c2ce3e27c966..9b82fc5b437d 100644
--- a/sys-cluster/nova/nova-2013.1.9999.ebuild
+++ b/sys-cluster/nova/nova-2013.1.9999.ebuild
@@ -1,11 +1,11 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/nova/nova-2013.1.9999.ebuild,v 1.4 2013/08/22 04:55:51 prometheanfire Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/nova/nova-2013.1.9999.ebuild,v 1.5 2013/09/05 20:57:34 prometheanfire Exp $
EAPI=5
PYTHON_COMPAT=( python2_7 )
-inherit distutils-r1 eutils git-2
+inherit distutils-r1 eutils git-2 multilib
DESCRIPTION="Nova is a cloud computing fabric controller (main part of an
IaaS system). It is written in Python."
@@ -16,25 +16,26 @@ EGIT_BRANCH="stable/grizzly"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS=""
-IUSE=""
+IUSE="+api +cert +compute +conductor +consoleauth +network +novncproxy +scheduler +spicehtml5proxy +xvpvncproxy"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-admin/sudo"
RDEPEND=">=dev-python/amqplib-0.6.1[${PYTHON_USEDEP}]
>=dev-python/anyjson-0.2.4[${PYTHON_USEDEP}]
- >=dev-python/cheetah-2.4.4
+ >=dev-python/cheetah-2.4.4[${PYTHON_USEDEP}]
>=dev-python/sqlalchemy-0.7.8
<=dev-python/sqlalchemy-0.7.99
dev-python/boto[${PYTHON_USEDEP}]
>=dev-python/eventlet-0.9.17[${PYTHON_USEDEP}]
>=dev-python/kombu-1.0.4-r1[${PYTHON_USEDEP}]
>=dev-python/routes-1.12.3-r1[${PYTHON_USEDEP}]
- =dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}]
+ ~dev-python/webob-1.2.3[${PYTHON_USEDEP}]
>=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}]
>=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
dev-python/paste[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-migrate-0.7.2
- dev-python/netaddr
+ >=dev-python/sqlalchemy-migrate-0.7.2[${PYTHON_USEDEP}]
+ dev-python/netaddr[${PYTHON_USEDEP}]
>=dev-python/suds-0.4
dev-python/paramiko[${PYTHON_USEDEP}]
dev-python/pyasn1[${PYTHON_USEDEP}]
@@ -45,10 +46,10 @@ RDEPEND=">=dev-python/amqplib-0.6.1[${PYTHON_USEDEP}]
>=dev-python/python-cinderclient-1.0.1[${PYTHON_USEDEP}]
>=dev-python/python-glanceclient-0.5.0[${PYTHON_USEDEP}]
<dev-python/python-glanceclient-2[${PYTHON_USEDEP}]
- >=dev-python/python-quantumclient-2.2.0[${PYTHON_USEDEP}]
- <=dev-python/python-quantumclient-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-2.2.0[${PYTHON_USEDEP}]
+ <=dev-python/python-neutronclient-3.0.0[${PYTHON_USEDEP}]
>=dev-python/python-keystoneclient-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-0.7
+ >=dev-python/stevedore-0.7[${PYTHON_USEDEP}]
<dev-python/websockify-0.4[${PYTHON_USEDEP}]
>=dev-python/oslo-config-1.1.0[${PYTHON_USEDEP}]
virtual/python-argparse[${PYTHON_USEDEP}]"
@@ -56,11 +57,31 @@ RDEPEND=">=dev-python/amqplib-0.6.1[${PYTHON_USEDEP}]
PATCHES=(
)
+pkg_setup() {
+ enewgroup nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
python_install() {
distutils-r1_python_install
+ newconfd "${FILESDIR}/nova-confd" "nova"
+ newinitd "${FILESDIR}/nova-initd" "nova"
+ use api && dosym /etc/init.d/nova /etc/init.d/nova-api
+ use cert && dosym /etc/init.d/nova /etc/init.d/nova-cert
+ use compute && dosym /etc/init.d/nova /etc/init.d/nova-compute
+ use conductor && dosym /etc/init.d/nova /etc/init.d/nova-conductor
+ use consoleauth && dosym /etc/init.d/nova /etc/init.d/nova-consoleauth
+ use network && dosym /etc/init.d/nova /etc/init.d/nova-network
+ use novncproxy &&dosym /etc/init.d/nova /etc/init.d/nova-nonvncproxy
+ use scheduler && dosym /etc/init.d/nova /etc/init.d/nova-scheduler
+ use spicehtml5proxy && dosym /etc/init.d/nova /etc/init.d/nova-spicehtml5proxy
+ use xvpvncproxy && dosym /etc/init.d/nova /etc/init.d/nova-xvpncproxy
+
+ dodir /var/log/nova
+ fowners nova:nova /var/log/nova
+
keepdir /etc/nova
insinto /etc/nova
-
newins "etc/nova/nova.conf.sample" "nova.conf"
doins "etc/nova/api-paste.ini"
doins "etc/nova/logging_sample.conf"
@@ -70,11 +91,15 @@ python_install() {
doins "etc/nova/rootwrap.d/api-metadata.filters"
doins "etc/nova/rootwrap.d/compute.filters"
doins "etc/nova/rootwrap.d/network.filters"
- doins "etc/nova/rootwrap.d/baremetal-compute-ipmi.filters"
- doins "etc/nova/rootwrap.d/baremetal-deploy-helper.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 "isntalling CA files failed"
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ doins "${FILESDIR}/nova-sudoers"
}
diff --git a/sys-cluster/nova/nova-9999.ebuild b/sys-cluster/nova/nova-9999.ebuild
index ea0963e4cd6c..c201776d8152 100644
--- a/sys-cluster/nova/nova-9999.ebuild
+++ b/sys-cluster/nova/nova-9999.ebuild
@@ -1,66 +1,94 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/nova/nova-9999.ebuild,v 1.5 2013/08/20 16:33:00 prometheanfire Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/nova/nova-9999.ebuild,v 1.6 2013/09/05 20:57:34 prometheanfire Exp $
EAPI=5
PYTHON_COMPAT=( python2_7 )
-inherit distutils-r1 eutils git-2
+inherit distutils-r1 eutils git-2 multilib
DESCRIPTION="Nova is a cloud computing fabric controller (main part of an
IaaS system). It is written in Python."
HOMEPAGE="https://launchpad.net/nova"
EGIT_REPO_URI="https://github.com/openstack/nova.git"
-EGIT_BRANCH="master"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS=""
-IUSE=""
+IUSE="+api +cert +compute +conductor +consoleauth +network +novncproxy +scheduler +spicehtml5proxy +xvpvncproxy"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ app-admin/sudo"
RDEPEND=">=dev-python/amqplib-0.6.1[${PYTHON_USEDEP}]
>=dev-python/anyjson-0.2.4[${PYTHON_USEDEP}]
- >=dev-python/cheetah-2.4.4
>=dev-python/sqlalchemy-0.7.8
<=dev-python/sqlalchemy-0.7.99
dev-python/boto[${PYTHON_USEDEP}]
+ >=dev-python/d2to1-0.2.10[${PYTHON_USEDEP}]
+ <dev-python/d2to1-0.3[${PYTHON_USEDEP}]
>=dev-python/eventlet-0.9.17[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.0[${PYTHON_USEDEP}]
+ <dev-python/jinja-3[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-1.3.0[${PYTHON_USEDEP}]
+ !~dev-python/jsonschema-1.4.0[${PYTHON_USEDEP}]
>=dev-python/kombu-1.0.4-r1[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.5.16[${PYTHON_USEDEP}]
+ <dev-python/pbr-0.6[${PYTHON_USEDEP}]
>=dev-python/routes-1.12.3-r1[${PYTHON_USEDEP}]
- =dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ ~dev-python/webob-1.2.3[${PYTHON_USEDEP}]
>=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}]
>=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
dev-python/paste[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-migrate-0.7.2
- dev-python/netaddr
+ >=dev-python/sqlalchemy-migrate-0.7.2[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.6[${PYTHON_USEDEP}]
>=dev-python/suds-0.4
dev-python/paramiko[${PYTHON_USEDEP}]
dev-python/pyasn1[${PYTHON_USEDEP}]
>=dev-python/Babel-0.9.6[${PYTHON_USEDEP}]
>=dev-python/iso8601-0.1.4[${PYTHON_USEDEP}]
- dev-python/httplib2[${PYTHON_USEDEP}]
- >=dev-python/setuptools-git-0.4[${PYTHON_USEDEP}]
>=dev-python/python-cinderclient-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/python-glanceclient-0.5.0[${PYTHON_USEDEP}]
- <dev-python/python-glanceclient-2[${PYTHON_USEDEP}]
- >=dev-python/python-neutronclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-2.3.0[${PYTHON_USEDEP}]
<=dev-python/python-neutronclient-3.0.0[${PYTHON_USEDEP}]
>=dev-python/python-keystoneclient-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-0.7
- <dev-python/websockify-0.4[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-0.10[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.5.1[${PYTHON_USEDEP}]
+ <dev-python/websockify-0.6[${PYTHON_USEDEP}]
>=dev-python/oslo-config-1.1.0[${PYTHON_USEDEP}]
virtual/python-argparse[${PYTHON_USEDEP}]"
+#oslo.config-1.2 is required but not released yet
PATCHES=(
)
+pkg_setup() {
+ enewgroup nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
python_install() {
distutils-r1_python_install
+ newconfd "${FILESDIR}/nova-confd" "nova"
+ newinitd "${FILESDIR}/nova-initd" "nova"
+ use api && dosym /etc/init.d/nova /etc/init.d/nova-api
+ use cert && dosym /etc/init.d/nova /etc/init.d/nova-cert
+ use compute && dosym /etc/init.d/nova /etc/init.d/nova-compute
+ use conductor && dosym /etc/init.d/nova /etc/init.d/nova-conductor
+ use consoleauth && dosym /etc/init.d/nova /etc/init.d/nova-consoleauth
+ use network && dosym /etc/init.d/nova /etc/init.d/nova-network
+ use novncproxy &&dosym /etc/init.d/nova /etc/init.d/nova-nonvncproxy
+ use scheduler && dosym /etc/init.d/nova /etc/init.d/nova-scheduler
+ use spicehtml5proxy && dosym /etc/init.d/nova /etc/init.d/nova-spicehtml5proxy
+ use xvpvncproxy && dosym /etc/init.d/nova /etc/init.d/nova-xvpncproxy
+
+ dodir /var/log/nova
+ fowners nova:nova /var/log/nova
+
keepdir /etc/nova
insinto /etc/nova
-
newins "etc/nova/nova.conf.sample" "nova.conf"
doins "etc/nova/api-paste.ini"
doins "etc/nova/logging_sample.conf"
@@ -70,11 +98,15 @@ python_install() {
doins "etc/nova/rootwrap.d/api-metadata.filters"
doins "etc/nova/rootwrap.d/compute.filters"
doins "etc/nova/rootwrap.d/network.filters"
- doins "etc/nova/rootwrap.d/baremetal-compute-ipmi.filters"
- doins "etc/nova/rootwrap.d/baremetal-deploy-helper.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 "isntalling CA files failed"
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ doins "${FILESDIR}/nova-sudoers"
}