All news
fixv0.14.1

Twelve fixes for 0.14

A patch release cleaning up after 0.14.0, mostly around port reservations and the change log, including two permission fixes worth reading.

A patch release with twelve fixes, most of them in the port reservations and change log work that shipped in 0.14.0. Two came in from users within hours of the release; the rest from an audit of the 0.13 to 0.14 diff.

This one is marked as a pre-release while it gets a run on a real install. It will be promoted to stable once it has been through its paces.

Permissions

Two fixes here are worth reading in full.

Port utilization rules were returning 403 for everyone but a superuser. The model was audited but never registered as an RBAC object type, and RBAC fails closed for unregistered types, so the check happened before any grant was consulted. Even a tenant owner with a wildcard grant could not list or create a rule, and the rules' change-log entries were invisible to everyone else for the same reason. The type is registered now.

Port reservations ignored site scope. A site-scoped operator could list other sites' holds, which exposed device and port names they cannot otherwise read, create holds on ports outside their scope, and delete another site's planning data. Reservations now record the held port's site (backfilled on upgrade) so the normal site filtering applies.

Port reservations

  • Marking a port connected used to strand its hold: nothing released the reservation, so a port could carry both, and the row then showed neither the reserve action nor the mark toggle. Setting the mark now releases the hold, on both the single and bulk write paths.
  • A planned cable no longer clears "mark connected". It was wiping the flag with no record and nothing restored when the planned cable was deleted. Planned cables now fulfil the reservation and leave the flag alone.
  • Reserving from a port edit form shows up immediately. The write was not awaited, so the form's refresh raced ahead of it and the row came back looking unchanged.
  • Cabling a reserved port from its own page clears the badge without a reload. The detail pages read a different cache than the lists, and only the lists were being refreshed; deleting a cable now refreshes those pages too.
  • Releasing a hold from the reservations list refreshes the port tables and faceplates. And the reservation dialog no longer offers Release and Save to users without permission, or discards a note you are typing when the page refetches behind you.

Change log

  • Download exported only the visible page. 0.14 gave the table an explicit 50-row page size and the export took whatever the table held, so downloading a 4000-entry log quietly produced a 50-row file. Exports now cover everything the filters match.
  • Long values no longer overflow the expanded diff.
  • The user filter matches the exact name you picked instead of a substring, so "admin" no longer returns "administrator" too.

Search

  • Global search finds virtual machines. The VM list page found them; the dashboard search never did.
  • Also searchable now: interfaces, racks, locations, clusters, device types, manufacturers, circuits, providers and contacts. A bigger search overhaul is queued for 0.15.0.

Topology and maps

  • Dragging a card in the Hierarchy view no longer freezes the spotlight dimming into place. Cards used to stay greyed after clearing the spotlight, and the next spotlight highlighted nothing.
  • Saving a view works again for anyone whose last tab was Logical; it was returning a 400.
  • Fixed a crash in the mini-map on device pages when the map redrew inside its reveal timer.

Also fixed

  • BMC settings show which account is configured. After saving Redfish credentials both fields went blank, so a reachable BMC gave no hint whose login it was using. The username is returned and pre-filled now; the password never is, and leaving it blank still keeps the stored one.
  • The device interfaces tab ran one extra query per interface, 334 queries on a 62-port device. That action was missed when reservations were added to the other port queries.

Upgrading

One migration (api 0137) adds the site column to port reservations and backfills it. Nothing else to do.