This is most likely due to the server not being found given that floating ip quota exceeded exception looks different and the floating ip is properly created. See this from Openstacksdk:
def add_floating_ip_to_server(self, server, address, fixed_address=None):
"""Adds a floating IP address to a server instance.
:param server: Either the ID of a server or a
:class:`~openstack.compute.v2.server.Server` instance.
:param address: The floating IP address to be added to the server.
:param fixed_address: The fixed IP address to be associated with the
floating IP address. Used when the server is
connected to multiple networks.
:returns: None
"""
server = self._get_resource(_server.Server, server)
server.add_floating_ip(self, address, fixed_address=fixed_address)
It's currently unclear what exactly causes the server to be not found.
This is most likely due to the server not being found given that floating ip quota exceeded exception looks different and the floating ip is properly created. See this from Openstacksdk:
It's currently unclear what exactly causes the server to be not found.