OS::Sahara::NodeGroupTemplate contains 'floating_ip_pool' property and documentation says 'Value must be of type neutron.network'. And heat inside contains corresponding code: "if floating_ip_pool: self.client_plugin('neutron').find_neutron_resource(...)"
So, code works in cases:
1. Nova network with auto floating IP assignment (we don't need 'floating_ip_pool' property in this case)
2. Neutron with floating IP pool (property works well in that case)
Case that doesn't work:
1. Nova network without auto floating IP assignment
In this case Sahara expects 'floating_ip_pool' to be floating IP pool ('public' in case of devstack). But Heat doesn't accept such value with error message "floating_ip_pool publicURL endpoint for network service in RegionOne region not found" (no separator between "floating_ip_pool" and message is a separate bug).
Thanks Andrey. Previous discussions with Sahara devs suggested that floating_ip_pool is needed on Neutron only, that's why we implemented a neutron network constraint on it (and thus it can not find it in case of Nova network). I will lift that constraint.
Another question then - as we probably can not assert in Heat if auto-floating-ips are ennabled in Nova-network, do you see sense in making this property required then so that the template author is always on the same side?