On 5/14/2019 3:34 PM, Matt Riedemann wrote:
1. In general, a lot of this code for building the compute node model is based on at least using the 2.53 microversion (Pike) in nova where the hypervisor.id is a UUID - this is actually necessary for a multi-cell environment like CERN. The nova_client.api_version config option already defaults to 2.56 which was in Queens. I'm not sure what the compatibility matrix looks like for Watcher, but would it be possible for us to say that Watcher requires nova at least at Queens level API (so nova_client.api_version >= 2.60), add a release note and a "watcher-status upgrade check" if necessary. This might make things a bit cleaner in the nova CDM code to know we can rely on a given minimum version.
I tried changing nova_client.api_version to a FloatOpt but that gets messy because of how things like 2.60 are handled (str(2.60) gets turned into '2.6' which is not what we'd want). I was hoping we could use FloatOpt with a min version to enforce the minimum required version, but I guess we could do this other ways in the client helper code itself by comparing to some minimum required version in the code. [licanwei]: Maybe we can refer to https://github.com/openstack/watcher/blob/master/watcher/common/nova_helper.... Thanks, Matt