orchestrator-core icon indicating copy to clipboard operation
orchestrator-core copied to clipboard

Enhance product generator

Open hanstrompert opened this issue 2 years ago • 0 comments

Summary

This is a list of improvements and ideas for the product generator. The can be picked up as smaller MR's and/or stories.

Needed to support current products

  • [x] Allow for int enums to specify the key (instead of _1, _2, etc.)
  • [ ] updating data structures and/or files might benefit from a parser (instead of grepping/replacing stuff)
  • [x] create product descriptions for all our products
  • [ ] support union types (as used for example in the dcc product block)
  • [ ] sometimes lists in product blocks have different min/max-items depending on lifecycle (for example ListOfIpBgpSaps versus ListOfIpBgpSapsProvisioning). Figure out out good way to specify this in the config file
  • [x] allow to compress lifecycles in product blocks if they are the same (for example nsistp)
  • [ ] Some products don't have a full modify, but several workflows to partially update the subscription. For example CoreLink

Additional easy to implement features

  • [ ] add option to ignore asserts (so the unit tests run out-of-the-box instead of TDD)
  • [ ] provide optional title in yaml file if the formatting is simple, for example "{name}". Or make this more generic by supporting properties
  • [ ] add remove option to complete erase a product

Advanced features

  • [ ] extend tool to generate the config file from the db (for existing products)
  • [ ] show diff between actual product and product generated from config
  • [ ] create the graphs/documentation from the config file

Note: a parser is relatively straightforward to implement using the built-in ast package

hanstrompert avatar Jun 13 '23 13:06 hanstrompert