<div dir="ltr">Hi folks,<div><br></div><div>I'm trying to figure out what's the best approach to fade out testing of deprecated API versions.</div><div>We currently host in Tempest API tests for Glance API v1, Keystone API v2 and Cinder API v1.</div><div><br></div><div>According to the guidelines for the "follow-standard-deprecation" tag [0], when projects that have that tag deprecate a feature:</div><div><br></div><div>"<span style="color:rgb(62,67,73);font-family:arial,sans-serif;font-size:14.399999618530273px">Code will be frozen and only receive minimal maintenance (just so that it continues to work as-is)."</span></div><div><br></div><div>I interpret this so that projects should maintain some level of testing of the deprecated feature, including a deprecated API version.</div><div>The QA team does not see value in testing deprecated API versions in the common gate jobs, so my question is what do to with those tests.</div><div><br></div><div>One option is to maintain them in Tempest until the API version is removed, and run them in dedicated project jobs.</div><div>This means that tempest would have to run those jobs as well, so three extra jobs, until the API version is removed.</div><div><br></div><div>The other option is to move those tests out of Tempest, into the projects. This would imply back porting them to all relevant branches as well, but it would have the advantage of decoupling them from Tempest. It should be no concern from an API stability POV since the code for that API will be frozen.</div><div>Tests for deprecated APIs in cinder, keystone and glance are all - as far as I can tell - removed or deprecated from interoperability guidelines, so moving the tests out of Tempest would not be an issue in that sense.</div><div><br></div><div>The 2nd option involves a bit more initial overhead for the removal of tests, but I think it would works for the best on the long term.</div><div><br></div><div>There is a 3rd option as well, which is to stop running integration testing on deprecated API versions before they are actually removed, but I feel that would not meet the criteria defined by the follow-standard-deprecation tag.</div><div><br></div><div>Thoughts?</div><div><br></div><div>andrea</div><div><br></div><div>[0] <a href="https://governance.openstack.org/tc/reference/tags/assert_follows-standard-deprecation.html">https://governance.openstack.org/tc/reference/tags/assert_follows-standard-deprecation.html</a><br></div><div><br></div></div>