Fix AttributeError in negotiate_version
Seen in kolla-ansible CI, if ironic inspector starts up before ironic
API is properly up, we see the following error:
The PXE filter DnsmasqFilter, state=initialized encountered an
exception: StrictVersion instance has no attribute 'version'; resetting
the filter: AttributeError: StrictVersion instance has no attribute
The usual cause of this error is when StrictVersion is initialised with
a version of None. This suggests to me that max_ver is None.
This leads to an exception being raised that circumvents the client's
In the particular case of kolla-ansible CI, Ironic API is behind a load
balancer, and all backends are down resulting in a 503. The lack of a
retry caused ironic inspector to fail on startup.
This patch catches the case where we get a 4xx or 5xx return code when
checking the version, and raises an error that works with the client's
(cherry picked from commit 0e9bf337f1f6aa41f67df2966dacf9e8e897b7da)