<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div>Hi folks,<br><br></div>For a some time in python-fuelclient we have two CLI apps: `fuel` and `fuel2`. It was done as an implementation of blueprint [1].<br></div>Right now there is a situation where some new features are added just to old `fuel`, some to just `fuel2`, some to both. We cannot simply switch completely to new `fuel2` as it doesn't cover all old commands.<br></div>As far as I remember there was no agreement how we should proceed with adding new things to python-fuelclient, so to keep all development for new commands I would like us to choose what will be our approach. There are 3 ways to do it (with some pros and cons):<br><br></div>A) Add new features only to old `fuel`.<br></div>Pros:<br></div> - Implement feature in one place<br></div> - Almost all features are covered there<br></div>Cons:<br></div> - Someone will need to port this features to new `fuel2`<br></div> - Issues that forced us to reimplement whole `fuel` as `fuel2`<br><br></div>B) Add new features only to new `fuel2`<br></div>Pros:<br></div><div> - Implement feature in one place<br></div> - No need to cope with issues in old `fuel` (like worse UX, etc.)<br></div><div>Cons:<br></div><div> - Not all features are covered by `fuel2` so user will need to switch between `fuel` and `fuel2`<br><br></div><div>C) Add new features to both CLIs<br></div><div>Pros:<br></div><div> - User can choose which tool to use<br></div><div> - No need to port feature later...<br></div><div>Cons:<br></div><div> - ...but it still doubles the work<br></div><div> - We keep alive a tool that should be replaced (old `fuel`)<br></div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><br></div><div><br>Best,<br>Sebastian<br><br>[1] <a href="https://blueprints.launchpad.net/fuel/+spec/re-thinking-fuel-client">https://blueprints.launchpad.net/fuel/+spec/re-thinking-fuel-client</a><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>