Public bug reported: >From the lbaasv1 api, there seems to me that many vips could map to the same >pool. After reading the code, it turned out to be not. Deducing from below >code snippet: class LoadBalancerPluginDb(loadbalancer.LoadBalancerPluginBase, base_db.CommonDbMixin): ... def create_vip(self, context, vip): ... if v['pool_id']: # fetching pool again pool = self._get_resource(context, Pool, v['pool_id']) # (NOTE): we rely on the fact that pool didn't change between # above block and here vip_db['pool_id'] = v['pool_id'] pool['vip_id'] = vip_db['id'] # explicitly flush changes as we're outside any transaction context.session.flush() ... ... (neutron_lbaas/db/loadbalancer/loadbalancer_db.py) the relationship between vip and pool should be 1:1. If this is the case, there should have checked whether pool[vip_id] is null or not and throw a PoolInUse exception if no null value present. Am I miss anything? Thanks,
** Affects: neutron Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1487357 Title: No PoolInUse Check when creating VIP Status in neutron: New Bug description: From the lbaasv1 api, there seems to me that many vips could map to the same pool. After reading the code, it turned out to be not. Deducing from below code snippet: class LoadBalancerPluginDb(loadbalancer.LoadBalancerPluginBase, base_db.CommonDbMixin): ... def create_vip(self, context, vip): ... if v['pool_id']: # fetching pool again pool = self._get_resource(context, Pool, v['pool_id']) # (NOTE): we rely on the fact that pool didn't change between # above block and here vip_db['pool_id'] = v['pool_id'] pool['vip_id'] = vip_db['id'] # explicitly flush changes as we're outside any transaction context.session.flush() ... ... (neutron_lbaas/db/loadbalancer/loadbalancer_db.py) the relationship between vip and pool should be 1:1. If this is the case, there should have checked whether pool[vip_id] is null or not and throw a PoolInUse exception if no null value present. Am I miss anything? Thanks, To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1487357/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp