[Openstack] Validation of floating IP opertaions in Essex codebase ?

Day, Phil philip.day at hp.com
Wed Mar 28 08:19:35 UTC 2012


Hi Stackers,

In Diablo there is a bunch of validation that goes on in the network/api layer, for example when associating an IP to an instance there are checks for:


-          Is the address allocated

-          Is it allocated to this project

-          Is it already assigned to an instance, and if so dis-associate it first.

However looking at the same code in Essex I just see a simple call to the Manager:

    def associate_floating_ip(self, context, floating_address, fixed_address,
                                                 affect_auto_assigned=False):
        """Associates a floating ip with a fixed ip.

        ensures floating ip is allocated to the project in context
        """
        rpc.call(context,
                 FLAGS.network_topic,
                 {'method': 'associate_floating_ip',
                  'args': {'floating_address': floating_address,
                           'fixed_address': fixed_address,
                           'affect_auto_assigned': affect_auto_assigned}})


True there is some validation in the manager side  to prevent association if the address is already in use (which was also in Diablo), but by then it's too late to return a meaningful error to the user.

I can't see where the other checks have been moved to (they don't appear to be in the API extension or compute/api layer (which the request passes through).   Can someone point me to where this sort of validation is handled now please ?

I agree that the api code looks a lot cleaner in Essex without all of that validation code in it ;-)  - but surely we haven't removed those checks altogether ?

Thanks
Phil

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20120328/276a99b1/attachment.html>


More information about the Openstack mailing list