Hello colleagues, By this letter I would want to continue discussion of versioning support for our API, RPC and business logic. We already had a couple of meetings on the topic, but still there is no full architectural view on how this should look.
First, we already have basic support for API URLs starting with version (e.g. '/api/v1/clusters/'), but there is no way right now to execute old code, for example, if we're adding node into cluster deployed with the previous version of Fuel. We were even discussing the possibility to transform our current relational DB structure (regarding networks and disks, for example) to JSON and rewrite current VolumeManager and NetworkManager to use some kinda "versioned JSON converters" from the new structure to the old one. So, no changes in DB schema will be required, they will just store JSON with different versions at the same table. This will help with moving to advanced networking, for example. Also, we'll need to add versioning to DeploymentSerializer to build facts for Astute based on the Fuel version current cluster is deployed with, so it could choose the right manifests to execute. What ideas do you have? This is a hot and huge topic, so please participate. -- Best regards, Nick Markov
-- Mailing list: https://launchpad.net/~fuel-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~fuel-dev More help : https://help.launchpad.net/ListHelp

