fuel-dev team mailing list archive
-
fuel-dev team
-
Mailing list archive
-
Message #01421
Versioning Fuel/Nailgun
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
Follow ups