tree 9ae7f03b8e25039f1a4479aae40b6495d2c4ed2e
parent 72417706034ccce75450e10fcac57100b1f8d1d5
author Julia Kreger <juliaashleykreger@gmail.com> 1711468046 -0700
committer Julia Kreger <juliaashleykreger@gmail.com> 1711730325 -0700

Leverage the remote microversion without requiring human config

Tempest plugins are... weird.

The challenge is to have a branchless utility which can be loaded
and help provide feedback if the remote service is correctly
responding as we would expect.

This works great in theory, until you have to either do some
sort of negative test, or plan in advance, or until you have
some sort of mixed state environment. This also weirdly
restraints testing against older versions on older branches,
requiring further care and feeding to keep things passing.

And the way issues like these are resolved, originally, was to
leverage manual human configuration. The problem is, that doesn't
always work and operationally becomes an increased burden.
So the logical path forward is for the plugin to automatically
skip specific tests *based upon* the remote offered API
microversion, much like many of the tests do if a driver or
running configuration does not exist.

This can be done because when we compose tests, we have a minimum
and maximum API version where we know the test is valid, and if
the remote endpoint is outside of that bound.

The result is now the plugin will query the remote endpoint and
collect the minimum and maximum API versions as part of skip
version testing, so if either are defined on a test class, then
we make a decision automatically removing the need to configure
aspects specifically.

Change-Id: I197e6c30c8514e1f72cb1ce3ebad851802632203
