summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python/python-nova_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-nova_git.bb')
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova_git.bb396
1 files changed, 192 insertions, 204 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-nova_git.bb b/meta-openstack/recipes-devtools/python/python-nova_git.bb
index 115d198..741fc0a 100644
--- a/meta-openstack/recipes-devtools/python/python-nova_git.bb
+++ b/meta-openstack/recipes-devtools/python/python-nova_git.bb
@@ -4,36 +4,54 @@ SECTION = "devel/python"
4LICENSE = "Apache-2.0" 4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
6 6
7DEPENDS = "sudo libvirt" 7DEPENDS = " \
8 sudo \
9 libvirt \
10"
8 11
9SRCNAME = "nova" 12SRCNAME = "nova"
10 13
11FILESEXTRAPATHS_append := "${THISDIR}/${PN}" 14FILESEXTRAPATHS_append := "${THISDIR}/${PN}"
12 15
13SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=master \ 16SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/pike \
14 file://neutron-api-set-default-binding-vnic_type.patch \ 17 file://neutron-api-set-default-binding-vnic_type.patch \
15 " 18 "
16# restore post stable/juno: 19
17# file://websocketproxy-allow-empty-schemes-at-python-2.7.3.patch 20SRC_URI += " \
18# file://nova-convert-path-from-relative-to-absolute.patch 21 file://nova-compute.service \
19# file://nova-fix-location-to-doc-directory.patch 22 file://nova-init.service \
20# file://nova-fix-location-to-plugin-directory.patch 23 file://nova-init \
21
22SRC_URI += "file://nova-all \
23 file://nova.init \
24 file://nova-consoleauth \
25 file://nova.conf \ 24 file://nova.conf \
26 file://openrc \ 25 file://openrc \
26 file://nova-console.service \
27 file://nova-consoleauth.service \
28 file://nova-xvpvncproxy.service \
29 file://nova-novncproxy.service \
30 file://nova-conductor.service \
31 file://nova-network.service \
32 file://nova-api.service \
33 file://nova-scheduler.service \
34 file://nova-spicehtml5proxy.service \
27 " 35 "
28SRCREV = "6df6ad3ff32f2b1fe2978df1032002548ad8eb66" 36SRCREV = "b535f0808526c8eba37f15e83cede536e4e06029"
29PV = "12.0.0+git${SRCPV}" 37PV = "16.0.4+git${SRCPV}"
30 38
31S = "${WORKDIR}/git" 39S = "${WORKDIR}/git"
32 40
33inherit update-rc.d setuptools identity hosts useradd default_configs monitor 41inherit systemd setuptools identity hosts useradd default_configs monitor
34 42
35LIBVIRT_IMAGES_TYPE ?= "default" 43LIBVIRT_IMAGES_TYPE ?= "default"
36 44
45USER = "nova"
46GROUP = "nova"
47
48USERADD_PACKAGES = "${PN}"
49GROUPADD_PARAM_${PN} = "--system ${GROUP}"
50USERADD_PARAM_${PN} = "--system -m -d ${localstatedir}/lib/nova -s /bin/false -g ${GROUP} ${USER}"
51
52# Need to create the user?
53PLACEMENT_USER = "placement"
54
37SERVICECREATE_PACKAGES = "${SRCNAME}-setup ${SRCNAME}-ec2" 55SERVICECREATE_PACKAGES = "${SRCNAME}-setup ${SRCNAME}-ec2"
38KEYSTONE_HOST="${CONTROLLER_IP}" 56KEYSTONE_HOST="${CONTROLLER_IP}"
39 57
@@ -73,7 +91,32 @@ do_install_append() {
73 NOVA_CONF_DIR=${D}/${sysconfdir}/nova 91 NOVA_CONF_DIR=${D}/${sysconfdir}/nova
74 92
75 install -d ${NOVA_CONF_DIR} 93 install -d ${NOVA_CONF_DIR}
76 install -o nova -m 664 ${S}/etc/nova/policy.json ${NOVA_CONF_DIR}/ 94
95 # install systemd service files
96 install -d ${D}${systemd_system_unitdir}/
97 for j in nova-api nova-compute nova-init nova-network nova-console nova-consoleauth \
98 nova-xvpvncproxy nova-novncproxy nova-conductor nova-scheduler \
99 nova-spicehtml5proxy
100 do
101 SERVICE_FILE=${D}${systemd_system_unitdir}/$j.service
102 install -m 644 ${WORKDIR}/$j.service ${SERVICE_FILE}
103 sed -e "s#%LOCALSTATEDIR%#${localstatedir}#g" -i ${SERVICE_FILE}
104 sed -e "s#%SYSCONFDIR%#${sysconfdir}#g" -i ${SERVICE_FILE}
105 done
106
107 # Setup the neutron initialization script
108 INIT_FILE=${NOVA_CONF_DIR}/nova-init
109 install -g ${USER} -m 750 ${WORKDIR}/nova-init ${INIT_FILE}
110 sed -e "s:%DB_USER%:${DB_USER}:g" -i ${INIT_FILE}
111 sed -e "s:%NOVA_USER%:${USER}:g" -i ${INIT_FILE}
112 sed -e "s:%NOVA_GROUP%:${GROUP}:g" -i ${INIT_FILE}
113 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${INIT_FILE}
114 sed -e "s:%ADMIN_USER%:${ADMIN_USER}:g" -i ${INIT_FILE}
115 sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${INIT_FILE}
116 sed -e "s:%ADMIN_ROLE%:${ADMIN_ROLE}:g" -i ${INIT_FILE}
117 sed -e "s:%SYSCONFDIR%:${sysconfdir}:g" -i ${INIT_FILE}
118 sed -e "s:%ROOT_HOME%:${ROOT_HOME}:g" -i ${INIT_FILE}
119 sed -e "s:%PLACEMENT_USER%:${PLACEMENT_USER}:g" -i ${INIT_FILE}
77 120
78 # Deploy filters to /etc/nova/rootwrap.d 121 # Deploy filters to /etc/nova/rootwrap.d
79 install -m 755 -d ${NOVA_CONF_DIR}/rootwrap.d 122 install -m 755 -d ${NOVA_CONF_DIR}/rootwrap.d
@@ -104,54 +147,58 @@ do_install_append() {
104 install -o nova -m 664 ${TEMPLATE_CONF_DIR}/api-paste.ini ${NOVA_CONF_DIR} 147 install -o nova -m 664 ${TEMPLATE_CONF_DIR}/api-paste.ini ${NOVA_CONF_DIR}
105 install -o nova -m 664 ${WORKDIR}/openrc ${NOVA_CONF_DIR} 148 install -o nova -m 664 ${WORKDIR}/openrc ${NOVA_CONF_DIR}
106 149
107 # Configuration options 150 # openrc substitutions
108 sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \
109 -i ${NOVA_CONF_DIR}/api-paste.ini
110 sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${NOVA_CONF_DIR}/api-paste.ini
111 sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" \
112 -i ${NOVA_CONF_DIR}/api-paste.ini
113 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/api-paste.ini
114
115 sed -e "s:%DB_USER%:${DB_USER}:g" -i ${NOVA_CONF_DIR}/nova.conf
116 sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${NOVA_CONF_DIR}/nova.conf
117
118 sed -e "s:%METADATA_SHARED_SECRET%:${METADATA_SHARED_SECRET}:g" -i ${NOVA_CONF_DIR}/nova.conf
119
120 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/nova.conf
121 sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NOVA_CONF_DIR}/nova.conf
122
123 sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${NOVA_CONF_DIR}/nova.conf
124 sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${NOVA_CONF_DIR}/nova.conf
125
126 sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${NOVA_CONF_DIR}/nova.conf
127 sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${NOVA_CONF_DIR}/nova.conf
128 sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" -i ${NOVA_CONF_DIR}/nova.conf
129
130 sed -e "s:%LIBVIRT_IMAGES_TYPE%:${LIBVIRT_IMAGES_TYPE}:g" -i ${NOVA_CONF_DIR}/nova.conf
131
132 sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${NOVA_CONF_DIR}/openrc 151 sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${NOVA_CONF_DIR}/openrc
133 sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${NOVA_CONF_DIR}/openrc 152 sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${NOVA_CONF_DIR}/openrc
134
135 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/openrc 153 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/openrc
136 sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NOVA_CONF_DIR}/openrc 154 sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NOVA_CONF_DIR}/openrc
137 155
138 install -o nova -d ${NOVA_CONF_DIR}/instances 156 install -o nova -d ${NOVA_CONF_DIR}/instances
139 157
140 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then 158 #
141 install -d ${D}${sysconfdir}/init.d 159 # Per https://docs.openstack.org/nova/pike/install/controller-install-ubuntu.html
142 160 #
143 # nova-all is installed (and packaged), but not used as an initscript by default 161 CONF_FILE="${NOVA_CONF_DIR}/nova.conf"
144 install -m 0755 ${WORKDIR}/nova-all ${D}${sysconfdir}/init.d/nova-all 162 sed -e "/^\[api_database\]/aconnection = postgresql+psycopg2://${DB_USER}:${DB_PASSWORD}@${CONTROLLER_IP}/nova-api" \
145 install -m 0755 ${WORKDIR}/nova-consoleauth ${D}${sysconfdir}/init.d/nova-consoleauth 163 -i ${CONF_FILE}
146 164 sed -e "/^\[database\]/aconnection = postgresql+psycopg2://${DB_USER}:${DB_PASSWORD}@${CONTROLLER_IP}/nova" \
147 for binary in api compute network scheduler cert conductor novncproxy spicehtml5proxy; do 165 -i ${CONF_FILE}
148 sed "s:@suffix@:$binary:" < ${WORKDIR}/nova.init >${WORKDIR}/nova-$binary.init.sh 166 sed -e "/#transport_url =/atransport_url = rabbit://openstack:${ADMIN_PASSWORD}@${CONTROLLER_IP}" -i ${CONF_FILE}
149 install -m 0755 ${WORKDIR}/nova-$binary.init.sh ${D}${sysconfdir}/init.d/nova-$binary 167 sed -e "/#auth_strategy =/aauth_strategy = keystone" -i ${CONF_FILE}
150 done 168
151 fi 169 str="auth_uri = http://${CONTROLLER_IP}:5000"
152 170 str="$str\nauth_url = http://${CONTROLLER_IP}:35357"
153 cp run_tests.sh ${NOVA_CONF_DIR} 171 str="$str\nmemcached_servers = ${CONTROLLER_IP}:11211"
154 172 str="$str\nauth_type = password"
173 str="$str\nproject_domain_name = Default"
174 str="$str\nuser_domain_name = Default"
175 str="$str\nproject_name = service"
176 str="$str\nusername = ${USER}"
177 str="$str\npassword = ${ADMIN_PASSWORD}"
178 sed -e "/^\[keystone_authtoken\].*/a$str" -i ${CONF_FILE}
179
180 sed -e "/#my_ip =/amy_ip = ${MY_IP}" -i ${CONF_FILE}
181 sed -e "/#use_neutron =/ause_neutron = true" -i ${CONF_FILE}
182 sed -e "/#firewall_driver =/afirewall_driver = nova.virt.firewall.NoopFirewallDriver" -i ${CONF_FILE}
183
184 sed -e "/^\[vnc\].*/aenabled = true" -i ${CONF_FILE}
185 sed -e "/#vncserver_listen =/avncserver_listen = ${MY_IP}" -i ${CONF_FILE}
186 sed -e "/#vncserver_proxyclient_address =/avncserver_proxyclient_address = ${MY_IP}" -i ${CONF_FILE}
187
188 sed -e "/#api_servers =/aapi_servers = ${CONTROLLER_IP}:9292" -i ${CONF_FILE}
189 sed -e "/#lock_path =/alock_path = /var/lib/nova/tmp" -i ${CONF_FILE}
190
191 str="os_region_name = RegionOne"
192 str="$str\nproject_domain_name = Default"
193 str="$str\nproject_name = service"
194 str="$str\nauth_type = password"
195 str="$str\nuser_domain_name = Default"
196 str="$str\nauth_url = http://${CONTROLLER_IP}:35357"
197 str="$str\nusername = ${PLACEMENT_USER}"
198 str="$str\npassword = ${ADMIN_PASSWORD}"
199 sed -e "/^\[placement\].*/a$str" -i ${CONF_FILE}
200
201 # Install bash completions, docs and plugins
155 install -d ${D}/${sysconfdir}/bash_completion.d 202 install -d ${D}/${sysconfdir}/bash_completion.d
156 install -m 664 ${S}/tools/nova-manage.bash_completion ${D}/${sysconfdir}/bash_completion.d 203 install -m 664 ${S}/tools/nova-manage.bash_completion ${D}/${sysconfdir}/bash_completion.d
157 204
@@ -159,46 +206,16 @@ do_install_append() {
159 cp -r "${S}/plugins" "${D}/${PYTHON_SITEPACKAGES_DIR}/nova" 206 cp -r "${S}/plugins" "${D}/${PYTHON_SITEPACKAGES_DIR}/nova"
160} 207}
161 208
162pkg_postinst_${SRCNAME}-setup () {
163 if [ -z "$D" ]; then
164 # This is to make sure postgres is configured and running
165 if ! pidof postmaster > /dev/null; then
166 /etc/init.d/postgresql-init
167 /etc/init.d/postgresql start
168 sleep 5
169 fi
170
171 sudo -u postgres createdb nova
172 sleep 2
173 nova-manage db sync
174 fi
175}
176
177pkg_postinst_${SRCNAME}-common () {
178 if [ -z "$D" ]; then
179 if [ -d /home/root ]; then
180 echo "source /etc/nova/openrc" >> /home/root/.bashrc
181 echo "source /etc/nova/openrc" >> /home/root/.profile
182 else
183 echo "source /etc/nova/openrc" >> /root/.bashrc
184 echo "source /etc/nova/openrc" >> /root/.profile
185 fi
186 fi
187}
188
189USERADD_PACKAGES = "${PN}"
190GROUPADD_PARAM_${PN} = "--system nova"
191USERADD_PARAM_${PN} = "--system --home /var/lib/nova -g nova -G libvirt \
192 --no-create-home --shell /bin/false nova"
193
194PACKAGES += " ${SRCNAME}-tests" 209PACKAGES += " ${SRCNAME}-tests"
195PACKAGES += " ${SRCNAME}-setup ${SRCNAME}-common ${SRCNAME}-compute ${SRCNAME}-controller" 210PACKAGES += " ${SRCNAME}-setup"
196PACKAGES += " ${SRCNAME}-consoleauth" 211PACKAGES += " ${SRCNAME}-common"
212PACKAGES += " ${SRCNAME}-compute"
213PACKAGES += " ${SRCNAME}-controller"
214PACKAGES += " ${SRCNAME}-console"
197PACKAGES += " ${SRCNAME}-novncproxy" 215PACKAGES += " ${SRCNAME}-novncproxy"
198PACKAGES += " ${SRCNAME}-spicehtml5proxy" 216PACKAGES += " ${SRCNAME}-spicehtml5proxy"
199PACKAGES += " ${SRCNAME}-network" 217PACKAGES += " ${SRCNAME}-network"
200PACKAGES += " ${SRCNAME}-scheduler" 218PACKAGES += " ${SRCNAME}-scheduler"
201PACKAGES += " ${SRCNAME}-cert"
202PACKAGES += " ${SRCNAME}-conductor" 219PACKAGES += " ${SRCNAME}-conductor"
203PACKAGES += " ${SRCNAME}-api" 220PACKAGES += " ${SRCNAME}-api"
204PACKAGES += " ${SRCNAME}-ec2" 221PACKAGES += " ${SRCNAME}-ec2"
@@ -215,8 +232,7 @@ ALLOW_EMPTY_${SRCNAME}-ec2 = "1"
215ALLOW_EMPTY_${SRCNAME}-api = "1" 232ALLOW_EMPTY_${SRCNAME}-api = "1"
216ALLOW_EMPTY_${SRCNAME}-compute = "1" 233ALLOW_EMPTY_${SRCNAME}-compute = "1"
217ALLOW_EMPTY_${SRCNAME}-controller = "1" 234ALLOW_EMPTY_${SRCNAME}-controller = "1"
218ALLOW_EMPTY_${SRCNAME}-consoleauth = "1" 235ALLOW_EMPTY_${SRCNAME}-console = "1"
219ALLOW_EMPTY_${SRCNAME}-cert = "1"
220ALLOW_EMPTY_${SRCNAME}-conductor = "1" 236ALLOW_EMPTY_${SRCNAME}-conductor = "1"
221ALLOW_EMPTY_${SRCNAME}-network = "1" 237ALLOW_EMPTY_${SRCNAME}-network = "1"
222ALLOW_EMPTY_${SRCNAME}-novncproxy = "1" 238ALLOW_EMPTY_${SRCNAME}-novncproxy = "1"
@@ -227,7 +243,8 @@ ALLOW_EMPTY_${SRCNAME}-spicehtml5proxy = "1"
227 243
228FILES_${PN} = "${libdir}/*" 244FILES_${PN} = "${libdir}/*"
229 245
230FILES_${SRCNAME}-tests = "${sysconfdir}/${SRCNAME}/run_tests.sh" 246# MAA FILES_${SRCNAME}-tests = "${sysconfdir}/${SRCNAME}/run_tests.sh"
247FILES_${SRCNAME}-tests = ""
231 248
232FILES_${SRCNAME}-common = "${bindir}/nova-manage \ 249FILES_${SRCNAME}-common = "${bindir}/nova-manage \
233 ${bindir}/nova-rootwrap \ 250 ${bindir}/nova-rootwrap \
@@ -240,113 +257,84 @@ FILES_${SRCNAME}-compute = "${bindir}/nova-compute \
240FILES_${SRCNAME}-controller = "${bindir}/* \ 257FILES_${SRCNAME}-controller = "${bindir}/* \
241 ${sysconfdir}/init.d/nova-all " 258 ${sysconfdir}/init.d/nova-all "
242 259
243FILES_${SRCNAME}-consoleauth = " \
244 ${sysconfdir}/init.d/nova-consoleauth \
245"
246FILES_${SRCNAME}-novncproxy = " \
247 ${sysconfdir}/init.d/nova-novncproxy \
248"
249FILES_${SRCNAME}-spicehtml5proxy = " \
250 ${sysconfdir}/init.d/nova-spicehtml5proxy \
251"
252FILES_${SRCNAME}-network = " \
253 ${sysconfdir}/init.d/nova-network \
254"
255FILES_${SRCNAME}-scheduler = " \
256 ${sysconfdir}/init.d/nova-scheduler \
257"
258FILES_${SRCNAME}-cert = " \
259 ${sysconfdir}/init.d/nova-cert \
260"
261FILES_${SRCNAME}-conductor = " \
262 ${sysconfdir}/init.d/nova-conductor \
263"
264FILES_${SRCNAME}-api = " \
265 ${sysconfdir}/init.d/nova-api \
266"
267
268DEPENDS += " \ 260DEPENDS += " \
269 python-pip \ 261 python-pip \
270 python-pbr \ 262 python-pbr \
271 " 263 "
272 264
273RDEPENDS_${PN} = " libvirt \ 265RDEPENDS_${PN} += " \
274 python-keystone \ 266 libvirt \
275 python-keystonemiddleware \ 267 python-pbr \
276 python-modules \ 268 python-sqlalchemy \
277 python-misc \ 269 python-decorator \
278 python-amqp \
279 python-amqplib \
280 python-anyjson \
281 python-babel \
282 python-boto \
283 python-novaclient \
284 python-cinderclient \
285 python-cliff \
286 python-cheetah \
287 python-eventlet \ 270 python-eventlet \
288 python-feedparser \
289 python-glanceclient \
290 python-greenlet \
291 python-httplib2 \
292 python-iso8601 \
293 python-jinja2 \ 271 python-jinja2 \
294 python-kombu \ 272 python-keystonemiddleware \
295 python-lxml \ 273 python-lxml \
296 python-netaddr \ 274 python-routes \
297 python-oslo.config \ 275 python-cryptography \
298 python-oslo.rootwrap \ 276 python-webob \
299 python-oslo.concurrency \ 277 python-greenlet \
300 python-oslo.middleware \
301 python-oslo.context \
302 python-oslo.log \
303 python-paste \
304 python-pastedeploy \ 278 python-pastedeploy \
279 python-paste \
280 python-prettytable \
281 python-sqlalchemy-migrate \
282 python-netaddr \
283 python-netifaces \
305 python-paramiko \ 284 python-paramiko \
306 python-psutil \ 285 python-babel \
307 python-pyasn1 \ 286 python-iso8601 \
308 python-setuptools-git \
309 python-simplejson \
310 python-jsonschema \ 287 python-jsonschema \
288 python-cinderclient \
289 python-keystoneauth1 \
290 python-neutronclient \
291 python-glanceclient \
292 python-requests \
311 python-six \ 293 python-six \
312 python-setuptools \
313 python-sqlalchemy \
314 python-sqlalchemy-migrate \
315 python-stevedore \ 294 python-stevedore \
316 python-suds-jurko \ 295 python-setuptools \
317 python-neutronclient \
318 python-routes \
319 python-webob \
320 python-websockify \ 296 python-websockify \
321 python-pbr \ 297 python-oslo.cache \
322 spice-html5 \ 298 python-oslo.concurrency \
323 python-posix-ipc \ 299 python-oslo.config \
324 python-rfc3986 \ 300 python-oslo.context \
325 python-oslo.i18n \ 301 python-oslo.log \
326 python-sqlparse \
327 python-netifaces \
328 python-retrying \
329 python-debtcollector \
330 python-ecdsa \
331 python-wrapt \
332 python-oslo.versionedobjects \
333 python-oslo.reports \ 302 python-oslo.reports \
334 python-monotonic \ 303 python-oslo.serialization \
304 python-oslo.utils \
305 python-oslo.db \
306 python-oslo.rootwrap \
307 python-oslo.messaging \
308 python-oslo.policy \
309 python-oslo.privsep \
310 python-oslo.i18n \
335 python-oslo.service \ 311 python-oslo.service \
312 python-rfc3986 \
313 python-oslo.middleware \
314 python-psutil \
315 python-oslo.versionedobjects \
336 python-os-brick \ 316 python-os-brick \
337 " 317 python-os-traits \
318 python-os-vif \
319 python-os-win \
320 python-castellan \
321 python-microversion-parse \
322 python-os-xenapi \
323 python-tooz \
324 python-cursive \
325 python-pypowervm \
326 "
338 327
339RDEPENDS_${SRCNAME}-common = "${PN} openssl openssl-misc libxml2 libxslt \ 328RDEPENDS_${SRCNAME}-common = "${PN} openssl openssl-misc libxml2 libxslt \
340 iptables curl dnsmasq sudo procps" 329 iptables curl dnsmasq sudo procps"
341 330
342RDEPENDS_${SRCNAME}-controller = "${PN} ${SRCNAME}-common \ 331RDEPENDS_${SRCNAME}-controller = "${PN} ${SRCNAME}-common \
343 ${SRCNAME}-ec2 \ 332 ${SRCNAME}-ec2 \
344 ${SRCNAME}-consoleauth \ 333 ${SRCNAME}-console \
345 ${SRCNAME}-novncproxy \ 334 ${SRCNAME}-novncproxy \
346 ${SRCNAME}-spicehtml5proxy \ 335 ${SRCNAME}-spicehtml5proxy \
347 ${SRCNAME}-network \ 336 ${SRCNAME}-network \
348 ${SRCNAME}-scheduler \ 337 ${SRCNAME}-scheduler \
349 ${SRCNAME}-cert \
350 ${SRCNAME}-conductor \ 338 ${SRCNAME}-conductor \
351 ${SRCNAME}-api \ 339 ${SRCNAME}-api \
352 postgresql postgresql-client python-psycopg2" 340 postgresql postgresql-client python-psycopg2"
@@ -361,35 +349,35 @@ RDEPENDS_${SRCNAME}-tests = " \
361 bash \ 349 bash \
362 " 350 "
363 351
364INITSCRIPT_PACKAGES = "${SRCNAME}-compute ${SRCNAME}-consoleauth ${SRCNAME}-novncproxy ${SRCNAME}-spicehtml5proxy" 352
365INITSCRIPT_PACKAGES += "${SRCNAME}-network ${SRCNAME}-scheduler ${SRCNAME}-cert ${SRCNAME}-conductor" 353SYSTEMD_PACKAGES = " \
366INITSCRIPT_PACKAGES += "${SRCNAME}-api" 354 ${SRCNAME}-setup \
367 355 ${SRCNAME}-compute \
368# nova-all can replace: network, scheduler, cert, conductor and api. 356 ${SRCNAME}-console \
369# by default we go for the more granular initscripts, but this is left 357 ${SRCNAME}-novncproxy \
370# in case nova-all is desired. 358 ${SRCNAME}-spicehtml5proxy \
371# INITSCRIPT_PACKAGES += "${SRCNAME}-controller" 359 ${SRCNAME}-network \
372# INITSCRIPT_NAME_${SRCNAME}-controller = "nova-all" 360 ${SRCNAME}-scheduler \
373INITSCRIPT_NAME_${SRCNAME}-network = "nova-network" 361 ${SRCNAME}-conductor \
374INITSCRIPT_PARAMS_${SRCNAME}-network = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 362 ${SRCNAME}-api \
375INITSCRIPT_NAME_${SRCNAME}-scheduler = "nova-scheduler" 363 "
376INITSCRIPT_PARAMS_${SRCNAME}-scheduler = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 364
377INITSCRIPT_NAME_${SRCNAME}-cert = "nova-cert" 365SYSTEMD_SERVICE_${SRCNAME}-setup = "nova-init.service"
378INITSCRIPT_PARAMS_${SRCNAME}-cert = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 366SYSTEMD_SERVICE_${SRCNAME}-compute = "nova-compute.service"
379INITSCRIPT_NAME_${SRCNAME}-conductor = "nova-conductor" 367SYSTEMD_SERVICE_${SRCNAME}-console = "nova-console.service nova-consoleauth.service nova-xvpvncproxy.service"
380INITSCRIPT_PARAMS_${SRCNAME}-conductor = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 368SYSTEMD_SERVICE_${SRCNAME}-novncproxy = "nova-novncproxy.service"
381INITSCRIPT_NAME_${SRCNAME}-api = "nova-api" 369SYSTEMD_SERVICE_${SRCNAME}-spicehtml5proxy = "nova-spicehtml5proxy.service"
382INITSCRIPT_PARAMS_${SRCNAME}-api = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 370SYSTEMD_SERVICE_${SRCNAME}-network = "nova-network.service"
383 371SYSTEMD_SERVICE_${SRCNAME}-scheduler = "nova-scheduler.service"
384INITSCRIPT_NAME_${SRCNAME}-compute = "nova-compute" 372SYSTEMD_SERVICE_${SRCNAME}-conductor = "nova-conductor.service"
385INITSCRIPT_PARAMS_${SRCNAME}-compute = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 373SYSTEMD_SERVICE_${SRCNAME}-api = "nova-api.service"
386INITSCRIPT_NAME_${SRCNAME}-consoleauth = "nova-consoleauth" 374
387INITSCRIPT_PARAMS_${SRCNAME}-consoleauth = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 375# Disable services on first boot to avoid having them run when not configured
388INITSCRIPT_NAME_${SRCNAME}-novncproxy = "nova-novncproxy" 376SYSTEMD_AUTO_ENABLE_${SRCNAME}-api = "disable"
389INITSCRIPT_PARAMS_${SRCNAME}-novncproxy = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 377SYSTEMD_AUTO_ENABLE_${SRCNAME}-consoleauth = "disable"
390 378SYSTEMD_AUTO_ENABLE_${SRCNAME}-scheduler = "disable"
391INITSCRIPT_NAME_${SRCNAME}-spicehtml5proxy = "nova-spicehtml5proxy" 379SYSTEMD_AUTO_ENABLE_${SRCNAME}-conductor = "disable"
392INITSCRIPT_PARAMS_${SRCNAME}-spicehtml5proxy = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 380SYSTEMD_AUTO_ENABLE_${SRCNAME}-novncproxy = "disable"
393 381
394MONITOR_SERVICE_PACKAGES = "${SRCNAME}" 382MONITOR_SERVICE_PACKAGES = "${SRCNAME}"
395MONITOR_SERVICE_${SRCNAME} = "nova-api nova-cert nova-conductor nova-consoleauth nova-scheduler" 383MONITOR_SERVICE_${SRCNAME} = "nova-api nova-conductor nova-console nova-scheduler"