Change the Luxi operations structure
Currently, we define the LuxiOp type as a simple enumeration, and leave the arguments structure to the users of the Ganeti.Luxi module. This is suboptimal for a couple of reasons: first, we decouple the operation type from operation arguments, and that means we don't use the type system for validation of the arguments; second, the clients themselves have to know about the JSON encoding of the protocol. For the above arguments, we change the operation type to contain the arguments too, and then the entire conversion/serialization is restricted to the Ganeti.Luxi module. Also, the removal of the JSON encoding from the clients results in an overall simplification of the code.
Loading
Please register or sign in to comment