-
Notifications
You must be signed in to change notification settings - Fork 29
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
Add the dut command from linuxboot #125
base: main
Are you sure you want to change the base?
Conversation
It is much easier to bring dut into cpu than have 2 repos. Further, dut is not a combined cpu and cpud; it is useful to have this illustrative use of the cpu package. Also, dut is changed so that it will be able to work with different kinds of networks, although vsock support will likely require special handling. Signed-off-by: Ronald G. Minnich <[email protected]>
- only call reboot if uinit returned with an error - convert all host + port (2 strings) uses to standard go addr:port usage - add dut to the TESTCPU command to ease testing - when starting cpu, do not block on it These changes support a usage model where dut starts on the device, and the test manager has it start up a cpu service. At that point, dut is no longer needed and can exit. The reboot-on-exit model no longer makes sense. Signed-off-by: Ronald G. Minnich <[email protected]>
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.
i haven't looked at the actual code yet - comments just on the Doc and method of operation stuff.
// modes | ||
// dut currently supports 3 modes. | ||
// | ||
// The first, default, mode, is "device". In device mode, dut makes an http connection |
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.
is this "In device mode, DUT makes" vs dut makes? or dut on DUT makes?
also, should the DUT start the RPC server before calling back to the host? if you do it as written, there's a window of time where the host dut could call back to the DUT, but the service isn't ready yet. if you time it poorly, you'll get stuck in tcp limbo or something.
// | ||
// The third mode is "cpu". dut will direct the DUT to start a cpu service, and block until | ||
// it exits. Flags for this service: | ||
// pubkey: name of the public key file |
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.
is there a nice Go way to use the same parameters as the cpud command? e.g. right now cpud has pubkey == -pk. and of course -net for vsock.
not sure if we can have a package struct that is the expected configuration, etc, so that we don't have two copies of all the args and parsing that cpud expects. as an added bonus, we wouldn't have different names for the same arg either.
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.
can we have common flags in the client/ package? probably.
// by the Reboot service. Tester can be useful, run by a shell script in a for loop, for | ||
// ensure reboot is reliable. | ||
// | ||
// The third mode is "cpu". dut will direct the DUT to start a cpu service, and block until |
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.
regarding "block until" - i might want the host dut command to return once the cpud service is running. i.e. "the CPU RPC is complete when i know the server is running", and not "when the server has exited".
this will help me with vmapp, where i can block until i know cpud is fully listening.
@@ -0,0 +1,66 @@ | |||
// dut manages Devices Under Test (a.k.a. DUT) from a host. |
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.
this looks like a copy of the cmds/dut/doc.go. from glancing at the Changed Files, it looks like dut/ and cmds/dut/ are the same. not sure which one you want to keep.
It is much easier to bring dut into cpu than have 2 repos.
Further, dut is not a combined cpu and cpud; it is useful
to have this illustrative use of the cpu package.
Signed-off-by: Ronald G. Minnich [email protected]