openconfig / gnoi

gRPC Network Operations Interface (gNOI) defines a set of gRPC-based microservices for executing operational commands on network devices.
Apache License 2.0
159 stars 69 forks source link

os.proto Install RPC #37

Closed Reshad-Rahman closed 2 years ago

Reshad-Rahman commented 4 years ago

https://github.com/openconfig/gnoi/blob/master/os/os.proto#L35 mentions how the target device must proactively manage disk space. However it is difficult to guarantee that the target always has enough space if the space required is unknown. As new products mature, image size often increases. Also some products may have multiple OS images. So to make this more predictable, could the file size be included in the TransferRequest message?

samribeiro commented 4 years ago

Hi Reshad-Rahman. I believe the system is still predictable? If during the transfer, the Target runs out of space, it must return error with InstallError TOO_LARGE. The Target software should always A) try to have enough space for new OSs, regardless of a potential heads up message stating the incoming OS file size. The only thing this message would save woud be the time attempting the eventually failed transfer. This seems however unimportant, and given A) redundant with unnecessary complexity.