feat: reboot_host contract, guest agent declaration, port group targets
HostRebootMixin declares reboot_host(), mixed into DeviceTypeDriver so any device may be restartable. netOrk restarted hosts by sending /sbin/reboot through a driver's private _send_command; a driver talking to an API had no such method and the reboot was silently skipped. HypervisorDriver gains GUEST_AGENT_PACKAGES / GUEST_AGENT_RUNCMD, the agent cloud-init installs so the hypervisor can read a new VM's IP. The default stays qemu-guest-agent; VMware declares open-vm-tools. NetworkTargetDict.kind may be "portgroup": a VMware port group fixes its VLAN like an SDN vnet does, without being one.
This commit is contained in:
@@ -70,6 +70,8 @@ Behaviour shared across roles lives in a function class, exactly once, and a rol
|
||||
is a thin bundle over them — `PackageManagementMixin`, `HealthMetricsMixin`,
|
||||
`ServiceControlMixin`, `UpdateMixin`, `NatVpnMixin`, `MacAclMixin`, `FirewallRuleMixin`,
|
||||
`DhcpServerMixin`, `PingSweepMixin`, `ConfigLifecycleMixin`, `InterfaceFilterMixin`.
|
||||
`HostRebootMixin` (`reboot_host`) is mixed into `DeviceTypeDriver` itself, since any
|
||||
device may be restartable; like the others it only declares.
|
||||
|
||||
A function class may use the **template form** — public method concrete, the
|
||||
device-specific part a `_hook` declared under `if TYPE_CHECKING` — *when the base
|
||||
|
||||
Reference in New Issue
Block a user