Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

32 changes: 32 additions & 0 deletions docs/release-notes/v0.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,38 @@ off for it rather than for the prose above:
<!-- markdownlint-disable MD033 MD022 -->
<!-- scriv-insert-here -->

<a id='changelog-v0.5.0'></a>
## v0.5.0 — released 2026-08-19

### Action required

Neutron no longer falls back to querying Ironic for a baremetal port's
`physical_network` when it is absent from the port's `binding_profile`. It is
now a hard requirement: without it, binding a baremetal port is refused and
trunk create and delete operations are rejected with a `BadRequest`.

Before upgrading, confirm no bound baremetal ports are missing
`physical_network`, and backfill any that are:

1. Take a report-only inventory of affected ports in each cloud:

```bash
./scripts/audit_ports_missing_physical_network.py --os-cloud $CLOUD
```

2. If the report lists any ports, backfill them from their Ironic baremetal
port:

```bash
./scripts/audit_ports_missing_physical_network.py --os-cloud $CLOUD --execute
```

3. Re-run step 1 and confirm it reports no matches.

A port whose trunk parent is still bound but has no `physical_network` cannot
have its trunk deleted until the profile is corrected. Trunks whose parent port
is unbound are unaffected and delete as before.

## v0.4.25 and earlier

Per-version upgrade notes begin with **v0.4.26**. For earlier versions the only
Expand Down
Loading