orchestrator-core
orchestrator-core copied to clipboard
Enhance product generator
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