On Fri, Mar 1, 2019 at 3:24 PM Dan Prince <dprince@redhat.com> wrote:
Recently we've been cleaning house in some of of the TripleO supported services.
We removed MongoDB as RDO was also dropping it. I guess we needed to follow suite as our CI is also based on the packages there.
For other services (Designate for example) if the RDO packages exist and we already have support do we really need to deprecate them? Having the ability to deploy some of the lesser used but still active OpenStack projects with our deployment framework is nice for developers and users alike. Especially when you want to try out a new services.
It's the long term maintenance of them to ensure they continue to work (packaging/promotions/requirement syncing). If no one is watching them and making sure they still work, I'm not sure it's worth saying they are "supported". Much like the baremetal support that we had, when we drop any testing we might as well mark them deprecated since there is no way to know if they still "work" the next day. Adding and maintaining services is non-trivial so unless it's actively used, I don't think it's necessarily a bad thing to trim our "supported" list to a set of known good services. Just in the last two or three weeks I've had to go address packaging problems with Vitrage[0] and Tacker[1] because requirements changed in the project and the packages weren't kept up to date so the puppet module CI was broken. No one noticed this was broken until we went to go update some unrelated things and found out that they were broken. The same thing happens in TripleO too where a breakage in a less than supported service takes away time for more important work. The cost to keep these things working is > 0. [0] https://review.rdoproject.org/r/#/c/19006/ [1] https://review.rdoproject.org/r/#/c/18830/
Rather than debate these things ad-hoc on some of the various reviews I figured it work asking here. Do we have a criteria for when it is appropriate to deprecate a service that is implemented and fully working? Is it costing us that much in terms of CI and resources to keep a few of these services around?
Do you have a definition of "fully implemented"? Some of the services that have been added were added but never actually tested. Designate only recently was covered with testing. Things like Congress have never been tested (like via tempest) and we've only done an install but no actual service verification. I would say Designate might be closer to fully implemented but Tacker/Congress would not be considered implemented. Given that we've previously been asked to reduce our CI footprint, I think it's hard to say is it really costing that much because the answer would be yes if it has even the slightest impact. The fewer services we support, the less scenarios we have to have, the less complex deployments we have and the less resource it consumes. Thanks, -Alex
Dan