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
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp