As Sateesh points out nova.service.Service.__getattr__ throws an AttributeError exception when the upcall method is not available.
However nova.rpc should catch all exceptions. This does not happen in this specific case because the following statement was outside the try-catch-all:
node_func = getattr(self.proxy, str(method))
Change-Id: I437c88783bca037e4054078d2687ef41c8fc2b83