Skip to content

Failure to delete VNIC when stopping an instance results in bad OPTE state #1364

Closed
@bnaecker

Description

@bnaecker

When we create an instance, we create an OPTE port and currently a VNIC over that. We correctly destroy this state when the instance is completely deleted, but not when it's just stopped. If you stop and re-start an instance with the CLI, you should see something like this:

bnaecker@feldspar : ~/omicron $ pfexec opteadm list-ports
LINK                             MAC ADDRESS              IPv4 ADDRESS     STATE
opte0                            A8:40:25:F2:86:DB        172.30.0.5       running
opte1                            A8:40:25:F2:86:DB        172.30.0.5       running
bnaecker@feldspar : ~/omicron $

That's two OPTE ports for the guest, with the same exact information. It's not really a bug in OPTE that this doesn't raise an error, since it's theoretically possible to get to this state normally. (The current implementation in Nexus will never assign the same MAC twice, but that's not necessary, rather a convenience.) The sled-agent needs to also destroy this state when it stops an instance, consistent with the idea that stopped instances consume no resources on the sled.

Metadata

Metadata

Assignees

Labels

Sled AgentRelated to the Per-Sled Configuration and ManagementbugSomething that isn't working.networkingRelated to the networking.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions