Nova: systemd dependencies between nova-compute and libvirt are broken

Bug #1967021 reported by Takashi Kajinami
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Medium
Unassigned

Bug Description

Description
===========
Since we introduced support for modular libvirt support, tripleo_nova_libvirtd.service is no longer deployed by default, because it was splitted to multiple services like tripleo_nova_virtqemud.service .

However the tripleo_nova_compute.service still depends on tripleo_nova_libvirtd.service and this is ineffective unless we use deprecated monolithic libvirt.

This would cause the situation where nova-compute is started before libvirt services are started, for example when rebooting a compute node.

The wrong order is likely to affect the "resume guest on reboot" feature.
 cf. https://github.com/openstack/tripleo-heat-templates/commit/6b0d025fd6f5b44428555d12071c700d794a687e

Steps to reproduce
==================
* Deploy overcloud
* Check list of systemd services
* Check dependencies defined for tripleo_nova_compute.services

Expected result
===============
* tripleo_nova_compute.service wants modular libvirt services

Actual result
=============
* tripleo_nova_compute.service wants tripleo_nova_libvirtd.service, which does not exist

Environment
===========
* The issue is found in master

Logs & Configs
==============
* Example build: https://zuul.opendev.org/t/openstack/build/19c51d82d1f6479fa8d4a4641291d594

https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_19c/834735/1/gate/tripleo-ci-centos-9-scenario007-standalone/19c51d8/logs/undercloud/var/log/extra/services.txt

https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_19c/834735/1/gate/tripleo-ci-centos-9-scenario007-standalone/19c51d8/logs/undercloud/etc/systemd/system/tripleo_nova_compute.service

description: updated
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)
Changed in tripleo:
status: New → In Progress
Changed in tripleo:
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/wallaby)

Fix proposed to branch: stable/wallaby
Review: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/843866

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/839311
Committed: https://opendev.org/openstack/tripleo-heat-templates/commit/d15794339bd4ad0d4a37bbb8083dc9bb9052e0e9
Submitter: "Zuul (22348)"
Branch: master

commit d15794339bd4ad0d4a37bbb8083dc9bb9052e0e9
Author: Takashi Kajinami <email address hidden>
Date: Tue Apr 26 16:45:54 2022 +0900

    Fix service dependency on libvirt daemons

    Since commit 768b66f885cd43552e63acfeb6c2ab68a5668e90 was merged,
    TripleO deploys modular libvirt daemons instead of monolithic one.

    When modular libvirt daemons are used, the nova_libvirt container is
    no longer used and service dependency should rely on individual daemons
    like nova_virtqemud.

    This change introduces the new tripleo_nova_libvirt.target systemd unit
    so that we can define service dependencies more easily and consisently.

    Co-authored-by: Bogdan Dobrelya <email address hidden>
    Closes-Bug: #1967021
    Change-Id: Id3f9e6320fc8bfc8e59cae2308fe4cb118643a9b

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/wallaby)

Reviewed: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/843866
Committed: https://opendev.org/openstack/tripleo-heat-templates/commit/1b8039b81d72cfb6bd0d799195ccb92ae2ab046c
Submitter: "Zuul (22348)"
Branch: stable/wallaby

commit 1b8039b81d72cfb6bd0d799195ccb92ae2ab046c
Author: Takashi Kajinami <email address hidden>
Date: Tue Apr 26 16:45:54 2022 +0900

    Fix service dependency on libvirt daemons

    Since commit 768b66f885cd43552e63acfeb6c2ab68a5668e90 was merged,
    TripleO deploys modular libvirt daemons instead of monolithic one.

    When modular libvirt daemons are used, the nova_libvirt container is
    no longer used and service dependency should rely on individual daemons
    like nova_virtqemud.

    This change introduces the new tripleo_nova_libvirt.target systemd unit
    so that we can define service dependencies more easily and consisently.

    Co-authored-by: Bogdan Dobrelya <email address hidden>
    Closes-Bug: #1967021
    Change-Id: Id3f9e6320fc8bfc8e59cae2308fe4cb118643a9b
    (cherry picked from commit d15794339bd4ad0d4a37bbb8083dc9bb9052e0e9)

tags: added: in-stable-wallaby
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 17.0.0

This issue was fixed in the openstack/tripleo-heat-templates 17.0.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.