-
Notifications
You must be signed in to change notification settings - Fork 259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for LCOW tests and benchmarks #1349
Conversation
75f96e0
to
7e26c0e
Compare
My initial impression is there are a lot of different changes here. Can we break this up into a bunch of separate PRs? That would make it much easier to review. |
f71553b
to
08cc8af
Compare
I split it out, so this is predominantly changes to hcsshim itself that support functional and GCS tests, and the tests are here #1351 and #1352 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sort of agree with @kevpar here, maybe refactoring and adding getter functions can be in a separate PR.
@@ -664,7 +664,7 @@ func makeLCOWDoc(ctx context.Context, opts *OptionsLCOW, uvm *UtilityVM) (_ *hcs | |||
} | |||
|
|||
if log.IsScrubbingEnabled() { | |||
opts.ExecCommandLine += " --scrub-logs" | |||
opts.ExecCommandLine += " -scrub-logs" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this be a different PR?
08cc8af
to
b02b0ff
Compare
Updated go-winio to include bugfixes for closing hvsockets, specifically for writing (which is needed by `internal\cmd` to signal that the stdin stream has finished. Expose or add certain functionality needed by tests and benchmarks both in the functional directory and uploaded directly onto a Linux UVM. For example, ability to access an hcsv2 containers init process and ID, as well creating and deleting network namespaces on the Linux UVM. Added more functionality to `internal\tools\uvmboot`, to include adding SCSI VHD and file mounts, as well as disabling the time sync, and setting the uVM security policy. Added winapi call to check if process is elevated, to allow returning a clear error message before attempting to start uVMs. Split out `internal\guest\runtime\runc\runc.go` into `runc.go`, `container.go` and `process.go`. Reorganized makefile to read from top to bottom, and added additional files to LCOW rootfs that include the time stamp of of the vhd creation, the image build date, and its full name (pulled from a `*.testdata.json` file in the LSG release, that appears to be the only location of that information). Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>
Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>
b02b0ff
to
c2984f8
Compare
@anmaxvl Do you have a preference for how to split things up?
|
above sounds reasonable to me. it also seems like we have some unrelated |
Updated go-winio to include bugfixes for closing hvsockets, specifically for writing (which is needed by
internal\cmd
to signal that the stdin stream has finished.Exposed or added certain functionality needed by tests and benchmarks both in the functional directory and uploaded directly onto a Linux UVM. For example, ability to access an hcsv2 containers init process and ID, as well creating and deleting network namespaces on the Linux UVM.
Added more functionality to
internal\tools\uvmboot
, to include adding SCSI VHD and file mounts, as well as disabling the time sync, and setting the uVM security policy.Bug in Linux GCS where namespaces are not deleted when the pod or standalone container is deleted.
Added winapi call to check if process is elevated, to allow returning a clear error message before attempting to start uVMs.
Signed-off-by: Hamza El-Saawy hamzaelsaawy@microsoft.com