Verification performed on the same three-node Ubuntu 22.04.5 LTS
hyperconverged regress-stack lab, upgrading from the verified Zed stage to
Antelope. The candidate OVN packages were
23.03.1-1ubuntu0.23.04.1~cloud4 from jammy-proposed/antelope; OVS was
3.1.3-0ubuntu0.23.04.1~cloud2.

The OVN packages were installed on each host with automatic package service
restarts suppressed. On the first host, `ovn-controller` stopped during
installation despite that policy and was started immediately; northd and both
database PIDs remained unchanged. Controllers were running the new version
on all three hosts before the OVN databases/northd were restarted one node at
a time. OpenStack packages, database schemas, and services were upgraded
afterward. Nova and Cinder online migrations, the Neutron offline-migration
check, and `regress-stack ready` passed.

Each host's Southbound flow query found `flags.from_ctrl` and both ingress
and egress `ct_commit_nat` rules. OVN services were active, `br-int` had
installed flows, and ovn-controller parser-error scans were empty. The three
original Cirros VMs retained their IDs and boot IDs and passed DNS,
east-west, and floating-IP checks after the upgrade and after Tempest. The
continuous flow watcher recorded no missing target rule. Guest pings passed
at the checkpoints between central-node restarts; no zero-downtime claim is
made for the package installation windows.

The focused Tempest Nova server API and Neutron network API run selected 122
tests: 120 passed, 2 skipped, 0 failed (Nova: 57 passed, 2 skipped; Neutron:
63 passed). 


LP #2115328 UCA ANTELOPE VERIFICATION EVIDENCE
Source: three-node regress-stack hyperconverged lab; collected 2026-09-16 UTC.
OS: Ubuntu 22.04.5 LTS
Hosts: rsov2115328-r2hc1, rsov2115328-r2hc2, rsov2115328-r2hc3.
Excluded services: Heat, Watcher, Magnum, Octavia.

STEP 1: CANDIDATE PROVENANCE AND PACKAGE VERSIONS
Inst ovn-host [22.09.1-0ubuntu0.22.10.1~cloud2] 
(23.03.1-1ubuntu0.23.04.1~cloud4 jammy-proposed [amd64]) []
Inst ovn-central [22.09.1-0ubuntu0.22.10.1~cloud2] 
(23.03.1-1ubuntu0.23.04.1~cloud4 jammy-proposed [amd64]) []
Inst ovn-common [22.09.1-0ubuntu0.22.10.1~cloud2] 
(23.03.1-1ubuntu0.23.04.1~cloud4 jammy-proposed [amd64])
Baseline hc1 OVN/OVS:
  openvswitch-switch    3.0.3-0ubuntu0.22.10.3~cloud3
  ovn-central   22.09.1-0ubuntu0.22.10.1~cloud2
  ovn-common    22.09.1-0ubuntu0.22.10.1~cloud2
  ovn-host      22.09.1-0ubuntu0.22.10.1~cloud2
Installed rsov2115328-r2hc1:
  neutron-server        2:22.1.0-0ubuntu1~cloud1
  nova-compute  3:27.4.0-0ubuntu1~cloud0
  openvswitch-switch    3.1.3-0ubuntu0.23.04.1~cloud2
  ovn-central   23.03.1-1ubuntu0.23.04.1~cloud4
  ovn-common    23.03.1-1ubuntu0.23.04.1~cloud4
  ovn-host      23.03.1-1ubuntu0.23.04.1~cloud4
Installed rsov2115328-r2hc2:
  neutron-server        2:22.1.0-0ubuntu1~cloud1
  nova-compute  3:27.4.0-0ubuntu1~cloud0
  openvswitch-switch    3.1.3-0ubuntu0.23.04.1~cloud2
  ovn-central   23.03.1-1ubuntu0.23.04.1~cloud4
  ovn-common    23.03.1-1ubuntu0.23.04.1~cloud4
  ovn-host      23.03.1-1ubuntu0.23.04.1~cloud4
Installed rsov2115328-r2hc3:
  neutron-server        2:22.1.0-0ubuntu1~cloud1
  nova-compute  3:27.4.0-0ubuntu1~cloud0
  openvswitch-switch    3.1.3-0ubuntu0.23.04.1~cloud2
  ovn-central   23.03.1-1ubuntu0.23.04.1~cloud4
  ovn-common    23.03.1-1ubuntu0.23.04.1~cloud4
  ovn-host      23.03.1-1ubuntu0.23.04.1~cloud4

STEP 2: SERVICE, LOGICAL FLOW, AND OVS GATES
rsov2115328-r2hc1: services=['active', 'active', 'active', 'active', 'active']; 
flow-gate=true; flags.from_ctrl=1; ct_commit_nat ingress=1, egress=1; br-int 
lines=630; broad parser matches=0
rsov2115328-r2hc2: services=['active', 'active', 'active', 'active', 'active']; 
flow-gate=true; flags.from_ctrl=1; ct_commit_nat ingress=1, egress=1; br-int 
lines=644; broad parser matches=0
rsov2115328-r2hc3: services=['active', 'active', 'active', 'active', 'active']; 
flow-gate=true; flags.from_ctrl=1; ct_commit_nat ingress=1, egress=1; br-int 
lines=630; broad parser matches=0

STEP 3: READINESS AND ORIGINAL GUESTS
Deployment ready; workload/failure acceptance is a separate harness test.
Original server IDs equal Yoga: True; original port IDs equal Yoga: True
Guest check completion marker: True
vm-1: boot ID equal Yoga=True; DNS A expected=True; east-west 0% loss=True; 
floating-IP 0% loss=True
vm-2: boot ID equal Yoga=True; DNS A expected=True; east-west 0% loss=True; 
floating-IP 0% loss=True
vm-3: boot ID equal Yoga=True; DNS A expected=True; east-west 0% loss=True; 
floating-IP 0% loss=True

STEP 4: TEMPEST RESULT
Command: tempest run --load-list nova-neutron-tests.txt --concurrency 4
Selection regex: 
tempest.api.compute.servers.test_servers|tempest.api.network.test_networks
Selected test-list lines: 122
Ran: 122 tests in 840.7822 sec.
 - Passed: 120
 - Skipped: 2
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 0

** Tags removed: verification-antelope-needed
** Tags added: verification-antelope-done

** Description changed:

  [Impact]
  
  Updated OVN 22.03 packages in Jammy generate Southbound logical flows using
  the ct_commit_nat action and flags.from_ctrl field. The original OVN
  22.09.1 packages in Zed do not understand these constructs.
  
  During the upgrade, ovn-controller rejects the affected logical flows,
  logging:
  
    error parsing actions "ct_commit_nat;": Syntax error at
    `ct_commit_nat' expecting action.
  
    error parsing match "flags.from_ctrl && udp.src == 53": Syntax error at
    `flags.from_ctrl' expecting field name.
  
  This prevents the affected flows from being installed and can disrupt
  network traffic during the upgrade.
  
  [Test Plan]
  
- Deploy a Jammy Charmed OpenStack cloud using updated OVN 22.03 packages.
+ Deploy a multinode Jammy Yoga OpenStack cloud using updated OVN 22.03 
packages.
  Configure instances on different compute hosts, security groups, floating
- IPs, OVN DNS records, and an OVN load balancer.
+ IPs, OVN DNS records.
  
  Confirm that the Southbound database contains flows referencing both
  ct_commit_nat and flags.from_ctrl.
  
  Verify that:
  
  * All relevant units install the candidate package and their OVN
    services remain healthy.
  * No ct_commit_nat or flags.from_ctrl parsing errors appear in the
    ovn-controller logs during the upgrade.
  * Controllers converge and process subsequent network configuration.
  * Existing and newly created instances have working east-west and
    floating-IP connectivity.
  * OVN DNS resolution works with security groups enabled.
  * Related ICMP traffic through an OVN load balancer is delivered with
    the correct NAT translation.
  
- Run the Charmed OpenStack functional and upgrade tests and attach the
+ Run the OpenStack functional and upgrade tests and attach the
  results, package versions, and relevant logs before marking verification
  complete.
  
  [Where problems could occur]
  
  The patches change logical action parsing, load-balancer handling of
  related traffic, and the ACL treatment of OVN-generated DNS responses.
  
  Regressions could affect connection tracking or NAT for related ICMP
  traffic, prevent logical flows from being installed, or incorrectly allow
  or block DNS traffic.
  
  Validation must cover both existing connections and new network
  configuration after the upgrade. DNS testing must confirm that legitimate
  OVN-generated replies work while workload-generated traffic remains
  subject to the configured security-group rules.
  
  [Other Info]
  
  ---
  
  The charmed OpenStack product currently make use of a step by step
  upgrade process.
  
  This includes stepping through interim releases of OVN.
  
  While OVN itself supports direct upgrades between LTS versions, it is
  impractical in the current organization of apt repositories.
  
  Between 22.03 and 22.04 releases, two new actions has been introduced
  and backported to resolve critical issues.
  
  These patches have made their way into the ovn 22.03 package in Jammy,
  but not to the intermediate versions currently maintained in UCA.  As a
  consequence, when users attempt to upgrade they will hit an data path
  impacting issue, and find messages below logged by the ovn-controller:
  
  2025-06-19T06:14:46.085Z|00025|lflow|WARN|error parsing actions 
"ct_commit_nat;": Syntax error at `ct_commit_nat' expecting action.
  2025-06-19T06:14:46.089Z|00026|lflow|WARN|error parsing match 
"flags.from_ctrl && udp.src == 53": Syntax error at `flags.from_ctrl' expecting 
field name.
  2025-06-19T06:22:56.626Z|00032|lflow|WARN|error parsing actions 
"ct_commit_nat;": Syntax error at `ct_commit_nat' expecting action.
  2025-06-19T06:22:56.628Z|00034|lflow|WARN|error parsing match 
"flags.from_ctrl && udp.src == 53": Syntax error at `flags.from_ctrl' expecting 
field name.
  
  The required patches to resolve this are:
  474bdfcad038 ("Skip only OVN DNS responder packets from OUT_ACL.")
  650f06b9f3e2 ("northd: Allow related traffic through LB")
  31196346fcad ("actions: Add new action called ct_commit_nat")

** Description changed:

  [Impact]
  
  Updated OVN 22.03 packages in Jammy generate Southbound logical flows using
  the ct_commit_nat action and flags.from_ctrl field. The original OVN
  22.09.1 packages in Zed do not understand these constructs.
  
  During the upgrade, ovn-controller rejects the affected logical flows,
  logging:
  
    error parsing actions "ct_commit_nat;": Syntax error at
    `ct_commit_nat' expecting action.
  
    error parsing match "flags.from_ctrl && udp.src == 53": Syntax error at
    `flags.from_ctrl' expecting field name.
  
  This prevents the affected flows from being installed and can disrupt
  network traffic during the upgrade.
  
  [Test Plan]
  
  Deploy a multinode Jammy Yoga OpenStack cloud using updated OVN 22.03 
packages.
  Configure instances on different compute hosts, security groups, floating
  IPs, OVN DNS records.
  
  Confirm that the Southbound database contains flows referencing both
  ct_commit_nat and flags.from_ctrl.
  
  Verify that:
  
  * All relevant units install the candidate package and their OVN
    services remain healthy.
  * No ct_commit_nat or flags.from_ctrl parsing errors appear in the
    ovn-controller logs during the upgrade.
  * Controllers converge and process subsequent network configuration.
  * Existing and newly created instances have working east-west and
    floating-IP connectivity.
  * OVN DNS resolution works with security groups enabled.
  * Related ICMP traffic through an OVN load balancer is delivered with
    the correct NAT translation.
  
  Run the OpenStack functional and upgrade tests and attach the
  results, package versions, and relevant logs before marking verification
  complete.
  
  [Where problems could occur]
  
  The patches change logical action parsing, load-balancer handling of
  related traffic, and the ACL treatment of OVN-generated DNS responses.
  
  Regressions could affect connection tracking or NAT for related ICMP
  traffic, prevent logical flows from being installed, or incorrectly allow
  or block DNS traffic.
  
  Validation must cover both existing connections and new network
  configuration after the upgrade. DNS testing must confirm that legitimate
  OVN-generated replies work while workload-generated traffic remains
  subject to the configured security-group rules.
  
  [Other Info]
+ After discussion with other Cloud Archive admin, we've deemed that a multi 
node deployment testing yoga -> zed -> antelope -> bobcat upgrade test is 
sufficient to validate these patches, and does not require a full charmed 
openstack deployment. Updated the original testplan, and keep this comment for 
history.
  
- ---
+ --- Original Description
  
  The charmed OpenStack product currently make use of a step by step
  upgrade process.
  
  This includes stepping through interim releases of OVN.
  
  While OVN itself supports direct upgrades between LTS versions, it is
  impractical in the current organization of apt repositories.
  
  Between 22.03 and 22.04 releases, two new actions has been introduced
  and backported to resolve critical issues.
  
  These patches have made their way into the ovn 22.03 package in Jammy,
  but not to the intermediate versions currently maintained in UCA.  As a
  consequence, when users attempt to upgrade they will hit an data path
  impacting issue, and find messages below logged by the ovn-controller:
  
  2025-06-19T06:14:46.085Z|00025|lflow|WARN|error parsing actions 
"ct_commit_nat;": Syntax error at `ct_commit_nat' expecting action.
  2025-06-19T06:14:46.089Z|00026|lflow|WARN|error parsing match 
"flags.from_ctrl && udp.src == 53": Syntax error at `flags.from_ctrl' expecting 
field name.
  2025-06-19T06:22:56.626Z|00032|lflow|WARN|error parsing actions 
"ct_commit_nat;": Syntax error at `ct_commit_nat' expecting action.
  2025-06-19T06:22:56.628Z|00034|lflow|WARN|error parsing match 
"flags.from_ctrl && udp.src == 53": Syntax error at `flags.from_ctrl' expecting 
field name.
  
  The required patches to resolve this are:
  474bdfcad038 ("Skip only OVN DNS responder packets from OUT_ACL.")
  650f06b9f3e2 ("northd: Allow related traffic through LB")
  31196346fcad ("actions: Add new action called ct_commit_nat")

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2115328

Title:
  [uca][zed][antelope][bobcat] Upgrade failure due to missing patches

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2115328/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to