Skip to content

[shimV2] adds core pod, container and process controllers#2674

Open
rawahars wants to merge 1 commit intomicrosoft:mainfrom
rawahars:core-ctrls
Open

[shimV2] adds core pod, container and process controllers#2674
rawahars wants to merge 1 commit intomicrosoft:mainfrom
rawahars:core-ctrls

Conversation

@rawahars
Copy link
Copy Markdown
Contributor

Adds the internal/controller package hierarchy with three new sub-packages that provide lifecycle management for Linux Containers on Windows (LCOW):

  • linuxcontainer: manages the full lifecycle of a single LCOW container inside a Utility VM, including host-side resource allocation (SCSI layers, Plan9 shares, vPCI devices), guest-side container creation via the GCS, and state machine transitions.

  • pod: manages a single pod running inside a UVM, owning the network controller and tracking all container controllers belonging to the pod.

  • process: manages individual process (exec) instances within a container, handling IO plumbing, signal delivery, exit status reporting, and a linear state machine.

Each package includes comprehensive unit tests, mock types, and documentation.

Adds the `internal/controller` package hierarchy with three new
sub-packages that provide lifecycle management for Linux Containers on
Windows (LCOW):

- `linuxcontainer`: manages the full lifecycle of a single LCOW
  container inside a Utility VM, including host-side resource allocation (SCSI layers, Plan9 shares, vPCI devices), guest-side container
  creation via the GCS, and state machine transitions.

- `pod`: manages a single pod running inside a UVM, owning the network controller and tracking all container controllers belonging to the pod.

- `process`: manages individual process (exec) instances within a
  container, handling IO plumbing, signal delivery, exit status
  reporting, and a linear state machine.

Each package includes comprehensive unit tests, mock types, and documentation.

Signed-off-by: Harsh Rawat <harshrawat@microsoft.com>
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.

1 participant