-
Notifications
You must be signed in to change notification settings - Fork 71
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
Added the 'no_reboot` flag to the ActivateRequest message. #51
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,7 @@ import "github.com/openconfig/gnoi/types/types.proto"; | |
|
||
option go_package = "github.com/openconfig/gnoi/os"; | ||
|
||
option (types.gnoi_version) = "0.1.0"; | ||
option (types.gnoi_version) = "0.2.0"; | ||
|
||
// The OS service provides an interface for OS installation on a Target. The | ||
// Client progresses through 3 RPCs: | ||
|
@@ -110,8 +110,9 @@ service OS { | |
rpc Install(stream InstallRequest) returns (stream InstallResponse); | ||
|
||
// Activate sets the requested OS version as the version which is used at the | ||
// next reboot, and reboots the Target. When booting the requested OS version | ||
// fails, the Target recovers by booting the previously running OS package. | ||
// next reboot, and reboots the Target if the 'activate_and_reboot' flag is | ||
// set. When booting the requested OS version fails, the Target recovers by | ||
// booting the previously running OS package. | ||
rpc Activate(ActivateRequest) returns (ActivateResponse); | ||
|
||
// Verify checks the running OS version. This RPC may be called multiple times | ||
|
@@ -250,11 +251,18 @@ message InstallError { | |
// The ActivateRequest is sent by the Client to the Target to initiate a change | ||
// in the next bootable OS version that is to be used on the Target. | ||
message ActivateRequest { | ||
// The version that is required to be activated and booted. | ||
// The version that is required to be activated and optionally immediattely | ||
// booted. | ||
string version = 1; | ||
// For dual Supervisors setting this flag instructs the Target to perform the | ||
// action on the Standby Supervisor. | ||
bool standby_supervisor = 2; | ||
// If set to 'True' the Target will initiate the reboot process immediatelly | ||
// after changing the next bootable OS version. | ||
// If set to 'False' a separate action to reboot the Target and start using | ||
// the activated OS version is required. This action CAN be executing | ||
// the gNOI.system.Reboot() RPC. | ||
bool activate_and_reboot = 3; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The inverse logic should be used here in order to keep the same behaviour with backward compatibility. Something like "no_reboot" or "activate_only" (proto3 defaults boolean to false when omitted). Where by default the Activate request will activate and reboot the target, unless this flag is set in which only activation will happen, but no reboot. This allows previous and actual versioned client and target implementations to coexist without a fundamental behaviour change of the RPC like it is being proposed here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Keeping backward compatibility sounds like good idea ;-) Done. |
||
} | ||
|
||
// The ActivateResponse is sent from the Target to the Client in response to the | ||
|
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.
assuming the suggestion below, I am thinking this would be a micro bump and opposed to minor.
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.
Done