Broken idempotency when modular_libvirt is used

Bug #2012423 reported by Takashi Kajinami
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-nova
Fix Released
Medium
Takashi Kajinami

Bug Description

While testing deployment with modular libvirt daemons, I noticed idempotency is broken and the below changes are detected during 2nd run.

2023-03-21 18:02:38 +0000 /Stage[main]/Nova::Compute::Libvirt::Services/Service[virtsecretd]/ensure (notice): ensure changed 'stopped' to 'running'
2023-03-21 18:02:38 +0000 /Stage[main]/Nova::Compute::Libvirt::Services/Service[virtsecretd] (info): Unscheduling refresh on Service[virtsecretd]
2023-03-21 18:02:39 +0000 /Stage[main]/Nova::Compute::Libvirt::Services/Service[virtproxyd]/ensure (notice): ensure changed 'stopped' to 'running'
2023-03-21 18:02:39 +0000 /Stage[main]/Nova::Compute::Libvirt::Services/Service[virtproxyd] (info): Unscheduling refresh on Service[virtproxyd]
2023-03-21 18:02:39 +0000 /Stage[main]/Nova::Compute::Libvirt::Services/Service[virtstoraged]/ensure (notice): ensure changed 'stopped' to 'running'
2023-03-21 18:02:39 +0000 /Stage[main]/Nova::Compute::Libvirt::Services/Service[virtstoraged] (info): Unscheduling refresh on Service[virtstoraged]

It seems these services are automatically terminated when unused and we should enable sockets, instead of services, to make the manifest idempotent.

Changed in puppet-nova:
importance: Undecided → Medium
assignee: nobody → Takashi Kajinami (kajinamit)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-nova (master)
Changed in puppet-nova:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on puppet-nova (master)

Change abandoned by "Takashi Kajinami <email address hidden>" on branch: master
Review: https://review.opendev.org/c/openstack/puppet-nova/+/878181

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-nova (master)

Reviewed: https://review.opendev.org/c/openstack/puppet-nova/+/878193
Committed: https://opendev.org/openstack/puppet-nova/commit/ef8a070e853f88b8a7fde4eba0f9cd8db109d893
Submitter: "Zuul (22348)"
Branch: master

commit ef8a070e853f88b8a7fde4eba0f9cd8db109d893
Author: Takashi Kajinami <email address hidden>
Date: Wed Mar 22 15:16:28 2023 +0900

    Enable only sockets for modular libvirt daemons

    It seems some of the modular libvirt daemons are automatically stopped
    if these are unused, and that causes broken idempotency. According to
    the libvirt doc[1], we have to enable only sockets and services are
    started automatically when these are required.

    [1] https://libvirt.org/daemons.html#switching-to-modular-daemons

    Closes-Bug: #2012423
    Change-Id: Ifac9cb6f0c47e18bc152ee6744b3572c8d33373a

Changed in puppet-nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-nova 22.0.0

This issue was fixed in the openstack/puppet-nova 22.0.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-nova (stable/zed)

Fix proposed to branch: stable/zed
Review: https://review.opendev.org/c/openstack/puppet-nova/+/885745

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-nova (stable/yoga)

Fix proposed to branch: stable/yoga
Review: https://review.opendev.org/c/openstack/puppet-nova/+/886605

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-nova (stable/zed)

Reviewed: https://review.opendev.org/c/openstack/puppet-nova/+/885745
Committed: https://opendev.org/openstack/puppet-nova/commit/e29196040a772140217200b013045c0306740e91
Submitter: "Zuul (22348)"
Branch: stable/zed

commit e29196040a772140217200b013045c0306740e91
Author: Takashi Kajinami <email address hidden>
Date: Wed Mar 22 15:16:28 2023 +0900

    Enable only sockets for modular libvirt daemons

    It seems some of the modular libvirt daemons are automatically stopped
    if these are unused, and that causes broken idempotency. According to
    the libvirt doc[1], we have to enable only sockets and services are
    started automatically when these are required.

    [1] https://libvirt.org/daemons.html#switching-to-modular-daemons

    Closes-Bug: #2012423
    Change-Id: Ifac9cb6f0c47e18bc152ee6744b3572c8d33373a
    (cherry picked from commit ef8a070e853f88b8a7fde4eba0f9cd8db109d893)

tags: added: in-stable-zed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-nova 20.4.1

This issue was fixed in the openstack/puppet-nova 20.4.1 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-nova 21.2.0

This issue was fixed in the openstack/puppet-nova 21.2.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.