summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2013-08-25 23:59:46 -0400
committerBruce Ashfield <bruce.ashfield@windriver.com>2013-08-28 18:42:00 -0400
commit6e8b7c9fb262768cb89712948b9fadf461e472ba (patch)
treed29fc8dd1b43815e3892ab28b2c1a05333359ef3 /meta-openstack/recipes-devtools/python
parentec5aab41b280d719c14e1c5d88d09e7b38168bb3 (diff)
downloadmeta-cloud-services-6e8b7c9fb262768cb89712948b9fadf461e472ba.tar.gz
nova: split into explicit compute and controller recipes
To allow unique configuration of nova for compute and controller nodes, the nova class is split into two, but packaged largely the same way. The compute and controller classes are introduced to hold configuration values and operations that are used by the common packaging routines to customize and deploy. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python')
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova-compute_2013.1.3.bb35
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova-controller_2013.1.3.bb52
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova.inc99
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/0001-nova-api-paste.ini-make-controller-IP-configurable.patch26
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova.conf5
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/openrc4
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova_2013.1.3.bb134
7 files changed, 229 insertions, 126 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
new file mode 100644
index 0000000..204313d
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova-compute_2013.1.3.bb
@@ -0,0 +1,35 @@
1
2include python-nova.inc
3
4PR = "r0"
5
6FILESEXTRAPATHS := "${THISDIR}/${PYTHON_PN}"
7
8SRC_URI += "file://nova-compute \
9 file://nova.conf \
10 file://openrc \
11 "
12
13inherit compute update-rc.d
14
15PACKAGES = "${SRCNAME}-compute ${SRCNAME}-compute-misc"
16
17do_install_append() {
18 if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
19 install -d ${D}${sysconfdir}/init.d
20 install -m 0755 ${WORKDIR}/nova-compute ${D}${sysconfdir}/init.d/nova-compute
21 fi
22}
23
24FILES_${SRCNAME}-compute = " ${files_${SRCNAME}-compute}"
25
26# the controller is built, so we package it out of the way
27FILES_${SRCNAME}-compute-misc = "${files_${SRCNAME}-controller} ${files_${SRCNAME}-common} ${files_${PYTHON_PN}}"
28
29RDEPENDS_${SRCNAME}-compute = "${PYTHON_PN} ${SRCNAME}-common \
30 qemu libvirt libvirt-libvirtd libvirt-python libvirt-virsh"
31
32RCONFLICTS_${SRCNAME}-compute = "${SRCNAME}-controller"
33
34INITSCRIPT_PACKAGES = "${SRCNAME}-compute"
35INITSCRIPT_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
new file mode 100644
index 0000000..686c1d7
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova-controller_2013.1.3.bb
@@ -0,0 +1,52 @@
1include python-nova.inc
2
3PR = "r0"
4
5FILESEXTRAPATHS := "${THISDIR}/${PYTHON_PN}"
6
7SRC_URI += "file://nova-all \
8 file://nova.conf \
9 file://openrc \
10 "
11
12inherit controller update-rc.d
13
14PACKAGES = "${SRCNAME}-controller ${SRCNAME}-controller-misc"
15
16do_install_append() {
17 if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
18 install -d ${D}${sysconfdir}/init.d
19 install -m 0755 ${WORKDIR}/nova-all ${D}${sysconfdir}/init.d/nova-all
20 fi
21}
22
23pkg_postinst_${SRCNAME}-controller () {
24 if [ "x$D" != "x" ]; then
25 exit 1
26 fi
27
28 # This is to make sure postgres is configured and running
29 if ! pidof postmaster > /dev/null; then
30 sudo -u postgres initdb -D /etc/postgresql/
31 /etc/init.d/postgresql start
32 sleep 0.2
33 sudo -u postgres psql -c "CREATE ROLE ${DB_USER} WITH SUPERUSER LOGIN PASSWORD '${DB_PASSWORD}'"
34 fi
35
36 sudo -u postgres createdb nova
37 nova-manage db sync
38}
39
40
41FILES_${SRCNAME}-controller = "${files_${SRCNAME}-controller}"
42
43# If the compute is built, so we package it out of the way
44FILES_${SRCNAME}-controller-misc = "${files_${SRCNAME}-compute} ${files_${SRCNAME}-common} ${files_${PYTHON_PN}}"
45
46RDEPENDS_${SRCNAME}-controller = "${PYTHON_PN} ${SRCNAME}-common \
47 postgresql postgresql-client python-psycopg2"
48
49RCONFLICTS_${SRCNAME}-controller = "${SRCNAME}-compute"
50
51INITSCRIPT_PACKAGES = "${SRCNAME}-controller"
52INITSCRIPT_NAME_${SRCNAME}-controller = "nova-all"
diff --git a/meta-openstack/recipes-devtools/python/python-nova.inc b/meta-openstack/recipes-devtools/python/python-nova.inc
new file mode 100644
index 0000000..be46460
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova.inc
@@ -0,0 +1,99 @@
1DESCRIPTION = "Nova is a cloud computing fabric controller"
2HOMEPAGE = "https://launchpad.net/nova"
3SECTION = "devel/python"
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
6
7DEPENDS = "sudo"
8
9SRCNAME = "nova"
10PYTHON_PN = "python-nova"
11
12FILESEXTRAPATHS := "${THISDIR}/${PYTHON_PN}"
13
14SRC_URI = "https://launchpad.net/${SRCNAME}/grizzly/${PV}/+download/${SRCNAME}-${PV}.tar.gz \
15 file://0001-nova-api-paste.ini-make-controller-IP-configurable.patch \
16 "
17
18SRC_URI[md5sum] = "6215982b9ed08b9042e088470d60a0a6"
19SRC_URI[sha256sum] = "f7c25186920daccb16867c5fd272318beb8cc076e5a55f79b5906618ef2724f4"
20
21S = "${WORKDIR}/${SRCNAME}-${PV}"
22
23inherit setuptools identity
24
25do_install_append() {
26
27 if [ ! -f "${WORKDIR}/nova.conf" ]; then
28 return
29 fi
30
31 TEMPLATE_CONF_DIR=${S}${sysconfdir}/${SRCNAME}
32 NOVA_CONF_DIR=${D}/${sysconfdir}/nova
33
34 install -d ${NOVA_CONF_DIR}
35 install -m 600 ${S}/etc/nova/policy.json ${NOVA_CONF_DIR}/
36
37 # Deploy filters to /etc/nova/rootwrap.d
38 install -m 755 -d ${NOVA_CONF_DIR}/rootwrap.d
39 install -m 600 ${S}/etc/nova/rootwrap.d/*.filters ${NOVA_CONF_DIR}/rootwrap.d
40 chown -R root:root ${NOVA_CONF_DIR}/rootwrap.d
41 chmod 644 ${NOVA_CONF_DIR}/rootwrap.d
42
43 # Set up rootwrap.conf, pointing to /etc/nova/rootwrap.d
44 install -m 644 ${S}/etc/nova/rootwrap.conf ${NOVA_CONF_DIR}/
45 sed -e "s:^filters_path=.*$:filters_path=${NOVA_CONF_DIR}/rootwrap.d:" \
46 -i ${NOVA_CONF_DIR}/rootwrap.conf
47 chown root:root $NOVA_CONF_DIR/rootwrap.conf
48
49 # Set up the rootwrap sudoers for nova
50 install -d ${D}${sysconfdir}/sudoers.d
51 touch ${D}${sysconfdir}/sudoers.d/nova-rootwrap
52 chmod 0440 ${D}${sysconfdir}/sudoers.d/nova-rootwrap
53 chown root:root ${D}${sysconfdir}/sudoers.d/nova-rootwrap
54 echo "root ALL=(root) NOPASSWD: ${bindir}/nova-rootwrap" > \
55 ${D}${sysconfdir}/sudoers.d/nova-rootwrap
56
57 # Configuration options
58 sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \
59 ${TEMPLATE_CONF_DIR}/api-paste.ini > ${WORKDIR}/api-paste.ini
60 sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${WORKDIR}/api-paste.ini
61 sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" \
62 -i ${WORKDIR}/api-paste.ini
63 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/api-paste.ini
64
65 sed -e "s:%DB_USER%:${DB_USER}:g" -i ${WORKDIR}/nova.conf
66 sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${WORKDIR}/nova.conf
67
68 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/nova.conf
69 sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/nova.conf
70
71 sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${WORKDIR}/openrc
72 sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${WORKDIR}/openrc
73
74 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/openrc
75 sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/openrc
76
77 # Copy the configuration file
78 install -m 664 ${WORKDIR}/nova.conf ${NOVA_CONF_DIR}/nova.conf
79 install -m 664 ${WORKDIR}/api-paste.ini ${NOVA_CONF_DIR}
80 install -m 664 ${WORKDIR}/openrc ${NOVA_CONF_DIR}
81
82 install -d ${NOVA_CONF_DIR}/instances
83}
84
85# note the lowercase "files", these variables are used in the packaging
86# recipes themselves.
87files_${PYTHON_PN} = "${libdir}/*"
88
89files_${SRCNAME}-common = " ${bindir}/nova-manage \
90 ${bindir}/nova-rootwrap \
91 ${sysconfdir}/sudoers.d"
92
93files_${SRCNAME}-compute = " ${bindir}/nova-compute \
94 ${sysconfdir}/${SRCNAME}/* \
95 ${sysconfdir}/init.d/nova-compute"
96
97files_${SRCNAME}-controller = " ${bindir}/* \
98 ${sysconfdir}/${SRCNAME}/* \
99 ${sysconfdir}/init.d/nova-all" \ No newline at end of file
diff --git a/meta-openstack/recipes-devtools/python/python-nova/0001-nova-api-paste.ini-make-controller-IP-configurable.patch b/meta-openstack/recipes-devtools/python/python-nova/0001-nova-api-paste.ini-make-controller-IP-configurable.patch
new file mode 100644
index 0000000..7d2ed7e
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/0001-nova-api-paste.ini-make-controller-IP-configurable.patch
@@ -0,0 +1,26 @@
1From dd200f769d745ed4cb02faf40ebc32252046d783 Mon Sep 17 00:00:00 2001
2From: Bruce Ashfield <bruce.ashfield@windriver.com>
3Date: Wed, 28 Aug 2013 01:38:16 -0400
4Subject: [PATCH] nova/api-paste.ini: make controller IP configurable
5
6Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
7---
8 etc/nova/api-paste.ini | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/etc/nova/api-paste.ini b/etc/nova/api-paste.ini
12index 34c87b9..c770408 100644
13--- a/etc/nova/api-paste.ini
14+++ b/etc/nova/api-paste.ini
15@@ -98,7 +98,7 @@ paste.filter_factory = nova.api.auth:NovaKeystoneContext.factory
16
17 [filter:authtoken]
18 paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
19-auth_host = 127.0.0.1
20+auth_host = %CONTROLLER_IP%
21 auth_port = 35357
22 auth_protocol = http
23 admin_tenant_name = %SERVICE_TENANT_NAME%
24--
251.7.10.4
26
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova.conf b/meta-openstack/recipes-devtools/python/python-nova/nova.conf
index dbbd1a8..f698349 100644
--- a/meta-openstack/recipes-devtools/python/python-nova/nova.conf
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova.conf
@@ -34,11 +34,12 @@ force_dhcp_release=False
34dhcpbridge=/usr/bin/nova-dhcpbridge 34dhcpbridge=/usr/bin/nova-dhcpbridge
35 35
36#Database configuration 36#Database configuration
37sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@localhost/nova 37# sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@localhost/nova
38sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@%CONTROLLER_HOST%/nova
38 39
39#RabbitMQ configuration 40#RabbitMQ configuration
40rpc_backend = nova.rpc.impl_kombu 41rpc_backend = nova.rpc.impl_kombu
41rabbit_host = 0.0.0.0 42rabbit_host = %CONTROLLER_IP%
42rabbit_port = 5672 43rabbit_port = 5672
43 44
44#Quantum 45#Quantum
diff --git a/meta-openstack/recipes-devtools/python/python-nova/openrc b/meta-openstack/recipes-devtools/python/python-nova/openrc
index 1d0a1ea..c28f355 100644
--- a/meta-openstack/recipes-devtools/python/python-nova/openrc
+++ b/meta-openstack/recipes-devtools/python/python-nova/openrc
@@ -1,6 +1,6 @@
1export OS_TENANT_NAME=admin 1export OS_TENANT_NAME=admin
2export OS_USERNAME=admin 2export OS_USERNAME=admin
3export OS_PASSWORD=%OS_PASSWORD% 3export OS_PASSWORD=%OS_PASSWORD%
4export OS_AUTH_URL="http://localhost:5000/v2.0/" 4export OS_AUTH_URL="http://%CONTROLLER_HOST%:5000/v2.0/"
5export SERVICE_ENDPOINT="http://localhost:35357/v2.0" 5export SERVICE_ENDPOINT="http://%CONTROLLER_HOST%:35357/v2.0"
6export SERVICE_TOKEN=%SERVICE_TOKEN% 6export SERVICE_TOKEN=%SERVICE_TOKEN%
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 95065fc..c10bebb 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,88 +1,6 @@
1DESCRIPTION = "Nova is a cloud computing fabric controller" 1include python-nova.inc
2HOMEPAGE = "https://launchpad.net/nova"
3SECTION = "devel/python"
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
6 2
7DEPENDS = "sudo" 3inherit useradd
8
9PR = "r0"
10SRCNAME = "nova"
11
12SRC_URI = "https://launchpad.net/${SRCNAME}/grizzly/${PV}/+download/${SRCNAME}-${PV}.tar.gz \
13 file://nova.conf \
14 file://nova-compute \
15 file://nova-all \
16 file://openrc \
17 "
18SRC_URI[md5sum] = "6215982b9ed08b9042e088470d60a0a6"
19SRC_URI[sha256sum] = "f7c25186920daccb16867c5fd272318beb8cc076e5a55f79b5906618ef2724f4"
20
21S = "${WORKDIR}/${SRCNAME}-${PV}"
22
23inherit setuptools useradd update-rc.d identity
24
25do_install_append() {
26 TEMPLATE_CONF_DIR=${S}${sysconfdir}/${SRCNAME}
27 NOVA_CONF_DIR=${D}/${sysconfdir}/nova
28
29 install -d ${NOVA_CONF_DIR}
30 install -m 600 ${S}/etc/nova/policy.json ${NOVA_CONF_DIR}/
31
32 # Deploy filters to /etc/nova/rootwrap.d
33 install -m 755 -d ${NOVA_CONF_DIR}/rootwrap.d
34 install -m 600 ${S}/etc/nova/rootwrap.d/*.filters ${NOVA_CONF_DIR}/rootwrap.d
35 chown -R root:root ${NOVA_CONF_DIR}/rootwrap.d
36 chmod 644 ${NOVA_CONF_DIR}/rootwrap.d
37
38 # Set up rootwrap.conf, pointing to /etc/nova/rootwrap.d
39 install -m 644 ${S}/etc/nova/rootwrap.conf ${NOVA_CONF_DIR}/
40 sed -e "s:^filters_path=.*$:filters_path=${NOVA_CONF_DIR}/rootwrap.d:" \
41 -i ${NOVA_CONF_DIR}/rootwrap.conf
42 chown root:root $NOVA_CONF_DIR/rootwrap.conf
43
44 # Set up the rootwrap sudoers for nova
45 install -d ${D}${sysconfdir}/sudoers.d
46 touch ${D}${sysconfdir}/sudoers.d/nova-rootwrap
47 chmod 0440 ${D}${sysconfdir}/sudoers.d/nova-rootwrap
48 chown root:root ${D}${sysconfdir}/sudoers.d/nova-rootwrap
49 echo "root ALL=(root) NOPASSWD: ${bindir}/nova-rootwrap" > \
50 ${D}${sysconfdir}/sudoers.d/nova-rootwrap
51
52 #Configuration options
53 sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \
54 ${TEMPLATE_CONF_DIR}/api-paste.ini > ${WORKDIR}/api-paste.ini
55 sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${WORKDIR}/api-paste.ini
56 sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" \
57 -i ${WORKDIR}/api-paste.ini
58
59 sed -e "s:%DB_USER%:${DB_USER}:g" -i ${WORKDIR}/nova.conf
60 sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${WORKDIR}/nova.conf
61
62 sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${WORKDIR}/openrc
63 sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${WORKDIR}/openrc
64
65 #Copy the configuration file
66 install -m 664 ${WORKDIR}/nova.conf ${NOVA_CONF_DIR}/nova.conf
67 install -m 664 ${WORKDIR}/api-paste.ini ${NOVA_CONF_DIR}
68 install -m 664 ${WORKDIR}/openrc ${NOVA_CONF_DIR}
69
70 install -d ${NOVA_CONF_DIR}/instances
71
72 if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
73 install -d ${D}${sysconfdir}/init.d
74 install -m 0755 ${WORKDIR}/nova-compute ${D}${sysconfdir}/init.d/nova-compute
75 install -m 0755 ${WORKDIR}/nova-all ${D}${sysconfdir}/init.d/nova-all
76 fi
77
78}
79
80USERADD_PACKAGES = "${PN}"
81GROUPADD_PARAM_${PN} = "--system nova"
82USERADD_PARAM_${PN} = "--system --home /var/lib/nova -g nova \
83 --no-create-home --shell /bin/false nova"
84
85PACKAGES += "${SRCNAME}-common ${SRCNAME}-compute ${SRCNAME}-controller"
86 4
87pkg_postinst_${SRCNAME}-common () { 5pkg_postinst_${SRCNAME}-common () {
88 if [ "x$D" != "x" ]; then 6 if [ "x$D" != "x" ]; then
@@ -92,36 +10,21 @@ pkg_postinst_${SRCNAME}-common () {
92 echo "source /etc/nova/openrc" > /home/root/.bashrc 10 echo "source /etc/nova/openrc" > /home/root/.bashrc
93} 11}
94 12
95pkg_postinst_${SRCNAME}-controller () { 13PACKAGES += "${SRCNAME}-common ${SRCNAME}-common-misc"
96 if [ "x$D" != "x" ]; then
97 exit 1
98 fi
99 14
100 # This is to make sure postgres is configured and running 15FILES_${PN} = "${files_${PN}}"
101 if ! pidof postmaster > /dev/null; then
102 sudo -u postgres initdb -D /etc/postgresql/
103 /etc/init.d/postgresql start
104 sleep 0.2
105 sudo -u postgres psql -c "CREATE ROLE ${DB_USER} WITH SUPERUSER LOGIN PASSWORD '${DB_PASSWORD}'"
106 fi
107 16
108 sudo -u postgres createdb nova 17FILES_${SRCNAME}-common = "${files_${SRCNAME}-common}"
109 nova-manage db sync
110}
111
112
113FILES_${PN} = "${libdir}/*"
114 18
115FILES_${SRCNAME}-common = " ${bindir}/nova-manage \ 19FILES_${SRCNAME}-common-misc = "${files_${SRCNAME}-compute} ${files_${SRCNAME}-controller}"
116 ${bindir}/nova-rootwrap \
117 ${sysconfdir}/${SRCNAME}/* \
118 ${sysconfdir}/sudoers.d"
119 20
120FILES_${SRCNAME}-compute = "${bindir}/nova-compute \ 21RDEPENDS_${SRCNAME}-common = "${PN} openssl openssl-misc libxml2 libxslt \
121 ${sysconfdir}/init.d/nova-compute" 22 iptables curl dnsmasq sudo procps"
122 23
123FILES_${SRCNAME}-controller = "${bindir}/* \ 24USERADD_PACKAGES = "${PN}"
124 ${sysconfdir}/init.d/nova-all" 25GROUPADD_PARAM_${PN} = "--system nova"
26USERADD_PARAM_${PN} = "--system --home /var/lib/nova -g nova \
27 --no-create-home --shell /bin/false nova"
125 28
126RDEPENDS_${PN} = " python-modules \ 29RDEPENDS_${PN} = " python-modules \
127 python-misc \ 30 python-misc \
@@ -158,16 +61,3 @@ RDEPENDS_${PN} = " python-modules \
158 python-webob \ 61 python-webob \
159 python-websockify \ 62 python-websockify \
160 " 63 "
161
162RDEPENDS_${SRCNAME}-common = "${PN} openssl openssl-misc libxml2 libxslt \
163 iptables curl dnsmasq sudo procps"
164
165RDEPENDS_${SRCNAME}-compute = "${PN} nova-common \
166 qemu libvirt libvirt-libvirtd libvirt-python libvirt-virsh"
167
168RDEPENDS_${SRCNAME}-controller = "${PN} nova-common \
169 postgresql postgresql-client python-psycopg2"
170
171INITSCRIPT_PACKAGES = "${SRCNAME}-compute ${SRCNAME}-controller"
172INITSCRIPT_NAME_${SRCNAME}-compute = "nova-compute"
173INITSCRIPT_NAME_${SRCNAME}-controller = "nova-all"