Skip to content

Derive vnic entity names in specs from their devices' PCI BDFs#204

Merged
gjcolombo merged 1 commit intomasterfrom
gjcolombo/vnic-derived-name
Aug 24, 2022
Merged

Derive vnic entity names in specs from their devices' PCI BDFs#204
gjcolombo merged 1 commit intomasterfrom
gjcolombo/vnic-derived-name

Conversation

@gjcolombo
Copy link
Copy Markdown
Contributor

@gjcolombo gjcolombo commented Aug 23, 2022

Two instance specs' network device and backend names must agree for the specs to be migration-compatible. Today, the spec generator derives these names from the name of the host vNIC to which the instance should bind, which name can and will change over a migration. Instead, generate network device/backend names from the NIC's PCI path, which is already not allowed to change during migration.

Tested via ad hoc migration of instances with NICs with different names.

Fixes #201.

The "name" field in a NetworkInterfaceRequest is the name of the host vNIC to
which the Propolis network device will bind. Because host vNIC names can change
over a migration, but device/backend names cannot, the former can't be used to
generate the latter.

Instead, generate device/backend names using PCI paths, which have to remain
stable over a migration.
@gjcolombo gjcolombo merged commit d4bc251 into master Aug 24, 2022
@gjcolombo gjcolombo deleted the gjcolombo/vnic-derived-name branch August 30, 2022 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Instance specs derive network device/backend names badly

2 participants