aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova-compute_2013.1.3.bb51
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova-controller_2013.1.3.bb87
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova.inc102
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova_2013.1.3.bb187
4 files changed, 158 insertions, 269 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-nova-compute_2013.1.3.bb b/meta-openstack/recipes-devtools/python/python-nova-compute_2013.1.3.bb
deleted file mode 100644
index 2511b28..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova-compute_2013.1.3.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-
-include python-nova.inc
-
-PR = "r0"
-
-FILESEXTRAPATHS := "${THISDIR}/${PYTHON_PN}"
-
-SRC_URI += "file://nova-compute \
- file://nova.conf \
- file://openrc \
- "
-
-inherit hosts update-rc.d
-
-PACKAGES = "${PN} ${SRCNAME}-compute ${SRCNAME}-compute-misc"
-
-do_install_append() {
- if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/nova-compute ${D}${sysconfdir}/init.d/nova-compute
- fi
-}
-
-#FILES_${SRCNAME}-compute = " ${files_${SRCNAME}-compute}"
-#
-# the controller is built, so we package it out of the way
-
-#FILES_${SRCNAME}-compute-misc = "${files_${SRCNAME}-controller}
-#${files_${SRCNAME}-common} ${files_${PYTHON_PN}}"
-
-FILES_${PN} = "${libdir}/python*"
-
-FILES_${SRCNAME}-compute = " \
- ${bindir}/nova-compute \
- ${sysconfdir}/${SRCNAME}/* \
- ${sysconfdir}/init.d/nova-compute"
-
-FILES_${SRCNAME}-compute-misc = " \
- ${bindir} \
- ${sysconfdir}/init.d/nova-all \
- ${bindir}/nova-manage \
- ${bindir}/nova-rootwrap \
- ${sysconfdir}/sudoers.d"
-
-RDEPENDS_${SRCNAME}-compute = "${PYTHON_PN} ${SRCNAME}-common \
- qemu libvirt libvirt-libvirtd libvirt-python libvirt-virsh"
-
-RCONFLICTS_${SRCNAME}-compute = "${SRCNAME}-controller"
-
-INITSCRIPT_PACKAGES = "${SRCNAME}-compute"
-INITSCRIPT_NAME_${SRCNAME}-compute = "nova-compute"
diff --git a/meta-openstack/recipes-devtools/python/python-nova-controller_2013.1.3.bb b/meta-openstack/recipes-devtools/python/python-nova-controller_2013.1.3.bb
deleted file mode 100644
index c99a890..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova-controller_2013.1.3.bb
+++ /dev/null
@@ -1,87 +0,0 @@
-include python-nova.inc
-
-PR = "r0"
-
-FILESEXTRAPATHS := "${THISDIR}/${PYTHON_PN}"
-
-SRC_URI += "file://nova-all \
- file://nova-consoleauth \
- file://nova-novncproxy \
- file://nova.conf \
- file://openrc \
- "
-
-inherit hosts update-rc.d
-
-PACKAGES = "${PN} ${PN}-dbg ${SRCNAME}-controller-misc ${SRCNAME}-controller"
-PACKAGES += " ${SRCNAME}-consoleauth"
-PACKAGES += " ${SRCNAME}-novncproxy"
-
-do_install_append() {
- if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/nova-all ${D}${sysconfdir}/init.d/nova-all
- install -m 0755 ${WORKDIR}/nova-consoleauth ${D}${sysconfdir}/init.d/nova-consoleauth
- install -m 0755 ${WORKDIR}/nova-novncproxy ${D}${sysconfdir}/init.d/nova-novncproxy
- fi
-}
-
-pkg_postinst_${SRCNAME}-controller () {
- if [ "x$D" != "x" ]; then
- exit 1
- fi
-
- # This is to make sure postgres is configured and running
- if ! pidof postmaster > /dev/null; then
- sudo -u postgres initdb -D /etc/postgresql/
- /etc/init.d/postgresql start
- sleep 0.2
- sudo -u postgres psql -c "CREATE ROLE ${DB_USER} WITH SUPERUSER LOGIN PASSWORD '${DB_PASSWORD}'"
- fi
-
- sudo -u postgres createdb nova
- nova-manage db sync
-}
-
-
-#FILES_${SRCNAME}-controller = "${files_${SRCNAME}-controller}"
-#
-# If the compute is built, so we package it out of the way
-
-#FILES_${SRCNAME}-controller-misc = "${files_${SRCNAME}-compute}
-#${files_${SRCNAME}-common} ${files_${PYTHON_PN}}"
-
-FILES_${SRCNAME}-controller = " \
- ${bindir} \
- ${sysconfdir}/${SRCNAME}/* \
- ${sysconfdir}/init.d/nova-all \
-"
-
-FILES_${SRCNAME}-consoleauth = " \
- ${sysconfdir}/init.d/nova-consoleauth \
-"
-FILES_${SRCNAME}-novncproxy = " \
- ${sysconfdir}/init.d/nova-novncproxy \
-"
-
-FILES_${SRCNAME}-controller-misc = " \
- ${bindir}/nova-compute \
- ${sysconfdir}/init.d/nova-compute \
- ${bindir}/nova-manage \
- ${bindir}/nova-rootwrap \
- ${sysconfdir}/sudoers.d \
- ${libdir}"
-
-FILES_${PN} = " \
- ${libdir}/python*/site-packages"
-
-RDEPENDS_${SRCNAME}-controller = "${PYTHON_PN} ${SRCNAME}-common ${SRCNAME}-consoleauth \
- ${SRCNAME}-novncproxy \
- postgresql postgresql-client python-psycopg2"
-
-RCONFLICTS_${SRCNAME}-controller = "${SRCNAME}-compute"
-
-INITSCRIPT_PACKAGES = "${SRCNAME}-controller ${SRCNAME}-consoleauth ${SRCNAME}-novncproxy"
-INITSCRIPT_NAME_${SRCNAME}-controller = "nova-all"
-INITSCRIPT_NAME_${SRCNAME}-consoleauth = "nova-consoleauth"
-INITSCRIPT_NAME_${SRCNAME}-novncproxy = "nova-novncproxy"
diff --git a/meta-openstack/recipes-devtools/python/python-nova.inc b/meta-openstack/recipes-devtools/python/python-nova.inc
deleted file mode 100644
index e520130..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova.inc
+++ /dev/null
@@ -1,102 +0,0 @@
-DESCRIPTION = "Nova is a cloud computing fabric controller"
-HOMEPAGE = "https://launchpad.net/nova"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-DEPENDS = "sudo"
-
-SRCNAME = "nova"
-PYTHON_PN = "python-nova"
-
-FILESEXTRAPATHS := "${THISDIR}/${PYTHON_PN}"
-
-SRC_URI = "https://launchpad.net/${SRCNAME}/grizzly/${PV}/+download/${SRCNAME}-${PV}.tar.gz \
- file://0001-nova-api-paste.ini-make-controller-IP-configurable.patch \
- "
-
-SRC_URI[md5sum] = "6215982b9ed08b9042e088470d60a0a6"
-SRC_URI[sha256sum] = "f7c25186920daccb16867c5fd272318beb8cc076e5a55f79b5906618ef2724f4"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools identity
-
-do_install_append() {
-
- if [ ! -f "${WORKDIR}/nova.conf" ]; then
- return
- fi
-
- TEMPLATE_CONF_DIR=${S}${sysconfdir}/${SRCNAME}
- NOVA_CONF_DIR=${D}/${sysconfdir}/nova
-
- install -d ${NOVA_CONF_DIR}
- install -m 600 ${S}/etc/nova/policy.json ${NOVA_CONF_DIR}/
-
- # Deploy filters to /etc/nova/rootwrap.d
- install -m 755 -d ${NOVA_CONF_DIR}/rootwrap.d
- install -m 600 ${S}/etc/nova/rootwrap.d/*.filters ${NOVA_CONF_DIR}/rootwrap.d
- chown -R root:root ${NOVA_CONF_DIR}/rootwrap.d
- chmod 644 ${NOVA_CONF_DIR}/rootwrap.d
-
- # Set up rootwrap.conf, pointing to /etc/nova/rootwrap.d
- install -m 644 ${S}/etc/nova/rootwrap.conf ${NOVA_CONF_DIR}/
- sed -e "s:^filters_path=.*$:filters_path=${sysconfdir}/nova/rootwrap.d:" \
- -i ${NOVA_CONF_DIR}/rootwrap.conf
- chown root:root $NOVA_CONF_DIR/rootwrap.conf
-
- # Set up the rootwrap sudoers for nova
- install -d ${D}${sysconfdir}/sudoers.d
- touch ${D}${sysconfdir}/sudoers.d/nova-rootwrap
- chmod 0440 ${D}${sysconfdir}/sudoers.d/nova-rootwrap
- chown root:root ${D}${sysconfdir}/sudoers.d/nova-rootwrap
- echo "root ALL=(root) NOPASSWD: ${bindir}/nova-rootwrap" > \
- ${D}${sysconfdir}/sudoers.d/nova-rootwrap
-
- # Configuration options
- sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \
- ${TEMPLATE_CONF_DIR}/api-paste.ini > ${WORKDIR}/api-paste.ini
- sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${WORKDIR}/api-paste.ini
- sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" \
- -i ${WORKDIR}/api-paste.ini
- sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/api-paste.ini
-
- sed -e "s:%DB_USER%:${DB_USER}:g" -i ${WORKDIR}/nova.conf
- sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${WORKDIR}/nova.conf
-
- sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/nova.conf
- sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/nova.conf
-
- sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${WORKDIR}/nova.conf
- sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${WORKDIR}/nova.conf
-
- sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${WORKDIR}/openrc
- sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${WORKDIR}/openrc
-
- sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/openrc
- sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/openrc
-
- # Copy the configuration file
- install -m 664 ${WORKDIR}/nova.conf ${NOVA_CONF_DIR}/nova.conf
- install -m 664 ${WORKDIR}/api-paste.ini ${NOVA_CONF_DIR}
- install -m 664 ${WORKDIR}/openrc ${NOVA_CONF_DIR}
-
- install -d ${NOVA_CONF_DIR}/instances
-}
-
-# note the lowercase "files", these variables are used in the packaging
-# recipes themselves.
-files_${PYTHON_PN} = "${libdir}/*"
-
-files_${SRCNAME}-common = " ${bindir}/nova-manage \
- ${bindir}/nova-rootwrap \
- ${sysconfdir}/sudoers.d"
-
-files_${SRCNAME}-compute = " ${bindir}/nova-compute \
- ${sysconfdir}/${SRCNAME}/* \
- ${sysconfdir}/init.d/nova-compute"
-
-files_${SRCNAME}-controller = " ${bindir}/* \
- ${sysconfdir}/${SRCNAME}/* \
- ${sysconfdir}/init.d/nova-all" \ No newline at end of file
diff --git a/meta-openstack/recipes-devtools/python/python-nova_2013.1.3.bb b/meta-openstack/recipes-devtools/python/python-nova_2013.1.3.bb
index e7f844a..c2dd1f3 100644
--- a/meta-openstack/recipes-devtools/python/python-nova_2013.1.3.bb
+++ b/meta-openstack/recipes-devtools/python/python-nova_2013.1.3.bb
@@ -1,49 +1,162 @@
-include python-nova.inc
+DESCRIPTION = "Nova is a cloud computing fabric controller"
+HOMEPAGE = "https://launchpad.net/nova"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-inherit useradd
+DEPENDS = "sudo"
-pkg_postinst_${SRCNAME}-common () {
- if [ "x$D" != "x" ]; then
- exit 1
+PR = "r0"
+SRCNAME = "nova"
+
+FILESEXTRAPATHS := "${THISDIR}/${PN}"
+
+SRC_URI = "https://launchpad.net/${SRCNAME}/grizzly/${PV}/+download/${SRCNAME}-${PV}.tar.gz \
+ file://0001-nova-api-paste.ini-make-controller-IP-configurable.patch \
+ "
+
+SRC_URI += "file://nova-all \
+ file://nova-consoleauth \
+ file://nova-novncproxy \
+ file://nova.conf \
+ file://openrc \
+ "
+
+SRC_URI[md5sum] = "6215982b9ed08b9042e088470d60a0a6"
+SRC_URI[sha256sum] = "f7c25186920daccb16867c5fd272318beb8cc076e5a55f79b5906618ef2724f4"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit update-rc.d setuptools identity hosts
+
+do_install_append() {
+ if [ ! -f "${WORKDIR}/nova.conf" ]; then
+ return
fi
- if [ -d $D/home/root/ ]; then
- echo "source /etc/nova/openrc" >> $D/home/root/.bashrc
- elif [ -d $D/root/ ]; then
- echo "source /etc/nova/openrc" >> $D/root/.bashrc
+ TEMPLATE_CONF_DIR=${S}${sysconfdir}/${SRCNAME}
+ NOVA_CONF_DIR=${D}/${sysconfdir}/nova
+
+ install -d ${NOVA_CONF_DIR}
+ install -m 600 ${S}/etc/nova/policy.json ${NOVA_CONF_DIR}/
+
+ # Deploy filters to /etc/nova/rootwrap.d
+ install -m 755 -d ${NOVA_CONF_DIR}/rootwrap.d
+ install -m 600 ${S}/etc/nova/rootwrap.d/*.filters ${NOVA_CONF_DIR}/rootwrap.d
+ chown -R root:root ${NOVA_CONF_DIR}/rootwrap.d
+ chmod 644 ${NOVA_CONF_DIR}/rootwrap.d
+
+ # Set up rootwrap.conf, pointing to /etc/nova/rootwrap.d
+ install -m 644 ${S}/etc/nova/rootwrap.conf ${NOVA_CONF_DIR}/
+ sed -e "s:^filters_path=.*$:filters_path=${sysconfdir}/nova/rootwrap.d:" \
+ -i ${NOVA_CONF_DIR}/rootwrap.conf
+ chown root:root $NOVA_CONF_DIR/rootwrap.conf
+
+ # Set up the rootwrap sudoers for nova
+ install -d ${D}${sysconfdir}/sudoers.d
+ touch ${D}${sysconfdir}/sudoers.d/nova-rootwrap
+ chmod 0440 ${D}${sysconfdir}/sudoers.d/nova-rootwrap
+ chown root:root ${D}${sysconfdir}/sudoers.d/nova-rootwrap
+ echo "root ALL=(root) NOPASSWD: ${bindir}/nova-rootwrap" > \
+ ${D}${sysconfdir}/sudoers.d/nova-rootwrap
+
+ # Configuration options
+ sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \
+ ${TEMPLATE_CONF_DIR}/api-paste.ini > ${WORKDIR}/api-paste.ini
+ sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${WORKDIR}/api-paste.ini
+ sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" \
+ -i ${WORKDIR}/api-paste.ini
+ sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/api-paste.ini
+
+ sed -e "s:%DB_USER%:${DB_USER}:g" -i ${WORKDIR}/nova.conf
+ sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${WORKDIR}/nova.conf
+
+ sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/nova.conf
+ sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/nova.conf
+
+ sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${WORKDIR}/nova.conf
+ sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${WORKDIR}/nova.conf
+
+ sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${WORKDIR}/openrc
+ sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${WORKDIR}/openrc
+
+ sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/openrc
+ sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/openrc
+
+ # Copy the configuration file
+ install -m 664 ${WORKDIR}/nova.conf ${NOVA_CONF_DIR}/nova.conf
+ install -m 664 ${WORKDIR}/api-paste.ini ${NOVA_CONF_DIR}
+ install -m 664 ${WORKDIR}/openrc ${NOVA_CONF_DIR}
+
+ install -d ${NOVA_CONF_DIR}/instances
+
+ if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/nova-all ${D}${sysconfdir}/init.d/nova-all
+ install -m 0755 ${WORKDIR}/nova-consoleauth ${D}${sysconfdir}/init.d/nova-consoleauth
+ install -m 0755 ${WORKDIR}/nova-novncproxy ${D}${sysconfdir}/init.d/nova-novncproxy
fi
}
-PACKAGES += "${SRCNAME}-common ${SRCNAME}-common-misc"
-
-#FILES_${PN} = "${files_${PN}}"
-#
-#FILES_${SRCNAME}-common = "${files_${SRCNAME}-common}"
-#
-#FILES_${SRCNAME}-common-misc = "${files_${SRCNAME}-compute} ${files_${SRCNAME}-controller}"
+pkg_postinst_${SRCNAME}-controller () {
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
-FILES_${PN} = "${libdir}/python*"
+ # This is to make sure postgres is configured and running
+ if ! pidof postmaster > /dev/null; then
+ /etc/init.d/postgresql-init
+ /etc/init.d/postgresql start
+ sleep 5
+ fi
-FILES_${SRCNAME}-common = " \
- ${bindir}/nova-manage \
- ${bindir}/nova-rootwrap \
- ${sysconfdir}/sudoers.d"
+ sudo -u postgres createdb nova
+ sleep 2
+ nova-manage db sync
+}
-FILES_${SRCNAME}-common-misc = " \
- ${bindir}/nova-compute \
- ${sysconfdir}/${SRCNAME}/* \
- ${sysconfdir}/init.d/nova-compute \
- ${bindir} \
- ${sysconfdir}/init.d/nova-all"
+pkg_postinst_${SRCNAME}-common () {
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
-RDEPENDS_${SRCNAME}-common = "${PN} openssl openssl-misc libxml2 libxslt \
- iptables curl dnsmasq sudo procps"
+ if [ -d /home/root ]; then
+ echo "source /etc/nova/openrc" > /home/root/.bashrc
+ else
+ echo "source /etc/nova/openrc" > /root/.bashrc
+ fi
+}
USERADD_PACKAGES = "${PN}"
GROUPADD_PARAM_${PN} = "--system nova"
USERADD_PARAM_${PN} = "--system --home /var/lib/nova -g nova \
--no-create-home --shell /bin/false nova"
+PACKAGES += " ${SRCNAME}-common ${SRCNAME}-compute ${SRCNAME}-controller"
+PACKAGES += " ${SRCNAME}-consoleauth"
+PACKAGES += " ${SRCNAME}-novncproxy"
+
+
+FILES_${PN} = "${libdir}/*"
+
+FILES_${SRCNAME}-common = "${bindir}/nova-manage \
+ ${bindir}/nova-rootwrap \
+ ${sysconfdir}/${SRCNAME}/* \
+ ${sysconfdir}/sudoers.d"
+
+FILES_${SRCNAME}-compute = "${bindir}/nova-compute \
+ ${sysconfdir}/init.d/nova-compute"
+
+FILES_${SRCNAME}-controller = "${bindir}/* \
+ ${sysconfdir}/init.d/nova-all "
+
+FILES_${SRCNAME}-consoleauth = " \
+ ${sysconfdir}/init.d/nova-consoleauth \
+"
+FILES_${SRCNAME}-novncproxy = " \
+ ${sysconfdir}/init.d/nova-novncproxy \
+"
+
RDEPENDS_${PN} = " python-modules \
python-misc \
python-argparse \
@@ -79,3 +192,19 @@ RDEPENDS_${PN} = " python-modules \
python-webob \
python-websockify \
"
+
+RDEPENDS_${SRCNAME}-common = "${PN} openssl openssl-misc libxml2 libxslt \
+ iptables curl dnsmasq sudo procps"
+
+RDEPENDS_${SRCNAME}-controller = "${PN} ${SRCNAME}-common \
+ ${SRCNAME}-consoleauth \
+ ${SRCNAME}-novncproxy \
+ postgresql postgresql-client python-psycopg2"
+
+RDEPENDS_${SRCNAME}-compute = "${PN} ${SRCNAME}-common \
+ qemu libvirt libvirt-libvirtd libvirt-python libvirt-virsh"
+
+INITSCRIPT_PACKAGES = "${SRCNAME}-controller ${SRCNAME}-consoleauth ${SRCNAME}-novncproxy"
+INITSCRIPT_NAME_${SRCNAME}-controller = "nova-all"
+INITSCRIPT_NAME_${SRCNAME}-consoleauth = "nova-consoleauth"
+INITSCRIPT_NAME_${SRCNAME}-novncproxy = "nova-novncproxy"