Skip to content

Commit e346340

Browse files
committed
services: cable_guy: invalidate cache when updating interface settings
1 parent a89bad7 commit e346340

2 files changed

Lines changed: 3 additions & 1 deletion

File tree

core/services/cable_guy/api/manager.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,8 @@ def _update_interface_settings(self, interface_name: str, updated_interface: Net
312312
self._settings.content = [interface for interface in self._settings.content if interface.name != interface_name]
313313
self._settings.content.append(updated_interface)
314314
self._manager.save()
315+
# OS state has just been mutated; drop the cached view so the next read returns fresh data.
316+
self.get_ethernet_interfaces.invalidate() # type: ignore[attr-defined]
315317

316318
def add_static_ip(self, interface_name: str, ip: str, mode: AddressMode = AddressMode.Unmanaged) -> None:
317319
"""Set ip address for a specific interface and saves it to the settings file
@@ -477,6 +479,7 @@ def get_interfaces(self, filter_wifi: bool = False, include_dhcp_markers: bool =
477479

478480
return result
479481

482+
@temporary_cache(timeout_seconds=10)
480483
def get_ethernet_interfaces(self, include_dhcp_markers: bool = False) -> List[NetworkInterface]:
481484
"""Get ethernet interfaces information
482485

core/services/cable_guy/main.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636

3737
@app.get("/ethernet", response_model=List[NetworkInterface], summary="Retrieve ethernet interfaces.")
3838
@version(1, 0)
39-
@temporary_cache(timeout_seconds=10)
4039
def retrieve_ethernet_interfaces() -> Any:
4140
"""REST API endpoint to retrieve the configured ethernet interfaces."""
4241
return manager.get_ethernet_interfaces()

0 commit comments

Comments
 (0)