Ah gyee pointed out in IRC that if you're using microversion<2.29 then force is passed to the compute API code as None:
https://github.com/openstack/nova/blob/stable/newton/nova/api/openstack/compute/evacuate.py#L92
And then this fails because force is not False, it's None:
https://github.com/openstack/nova/blob/stable/newton/nova/compute/api.py#L3784
Ah gyee pointed out in IRC that if you're using microversion<2.29 then force is passed to the compute API code as None:
https:/ /github. com/openstack/ nova/blob/ stable/ newton/ nova/api/ openstack/ compute/ evacuate. py#L92
And then this fails because force is not False, it's None:
https:/ /github. com/openstack/ nova/blob/ stable/ newton/ nova/compute/ api.py# L3784