vs_bridge is not idempotent when external_ids is set

Bug #1958905 reported by Takashi Kajinami
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-vswitch
Fix Released
Critical
Takashi Kajinami

Bug Description

When a vs_bridge resource is defined with external_ids, the second run detects the change even with the same manifest.
On the other hand, the third run exists without any change detected.

$ cat test.pp
vs_bridge { 'test':
  ensure => present,
  external_ids => 'bridge-id=test'
}
$ sudo puppet apply test.pp
Notice: Compiled catalog for undercloud-0.redhat.local in environment production in 0.22 seconds
Notice: /Stage[main]/Main/Vs_bridge[test]/ensure: created
Notice: Applied catalog in 0.99 seconds
$ sudo puppet apply test.pp
Notice: Compiled catalog for undercloud-0.redhat.local in environment production in 0.17 seconds
Notice: /Stage[main]/Main/Vs_bridge[test]/external_ids: external_ids changed '' to 'bridge-id=test'
Notice: Applied catalog in 0.62 seconds
$ sudo puppet apply test.pp
Notice: Compiled catalog for undercloud-0.redhat.local in environment production in 0.18 seconds
Notice: Applied catalog in 0.61 seconds

Revision history for this message
Takashi Kajinami (kajinamit) wrote :

I confirmed the external-id is not set after the first run,

$ sudo puppet apply test.pp
Notice: Compiled catalog for undercloud-0.redhat.local in environment production in 0.21 seconds
Notice: /Stage[main]/Main/Vs_bridge[test]/ensure: created
Notice: Applied catalog in 0.63 seconds
$ sudo ovs-vsctl br-get-external-id test
$

but it is set after the second run so the issue is specific to the initial creation.

$ $ sudo puppet apply test.pp
Notice: Compiled catalog for undercloud-0.redhat.local in environment production in 0.22 seconds
Notice: /Stage[main]/Main/Vs_bridge[test]/external_ids: external_ids changed '' to 'bridge-id=test'
Notice: Applied catalog in 0.64 seconds
$ sudo ovs-vsctl br-get-external-id test
bridge-id=test

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

Reviewed: https://review.opendev.org/c/openstack/puppet-vswitch/+/826134
Committed: https://opendev.org/openstack/puppet-vswitch/commit/8fcd7596e4b0f45a5bf999285d4477aa858b783b
Submitter: "Zuul (22348)"
Branch: master

commit 8fcd7596e4b0f45a5bf999285d4477aa858b783b
Author: Takashi Kajinami <email address hidden>
Date: Tue Jan 25 02:42:40 2022 +0900

    vs_bridge: Fix missing external_ids after initial creation

    It turned out the external_ids property is not reflected on the ovs
    bridge after initial creation. This change fixes it and ensures that
    the property is applied to the bridge.

    Closes-Bug: #1958905
    Change-Id: I7c1c2384b8d70b568caffe8d3cc82002cf2502f6

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

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