Example #1
0
 def _create_router(self, distributed=True, ha=False):
     with self.ctx.session.begin(subtransactions=True):
         self.ctx.session.add(l3_models.Router(id=TEST_ROUTER_ID))
         self.ctx.session.add(
             l3_attrs.RouterExtraAttributes(router_id=TEST_ROUTER_ID,
                                            distributed=distributed,
                                            ha=ha))
Example #2
0
 def _ensure_extra_attr_model(self, context, router_db):
     if not router_db['extra_attributes']:
         kwargs = {k: v['default'] for k, v in get_attr_info().items()}
         kwargs['router_id'] = router_db['id']
         new = l3_attrs.RouterExtraAttributes(**kwargs)
         context.session.add(new)
         router_db['extra_attributes'] = new
Example #3
0
 def _process_extra_attr_router_create(
     self, context, router_db, router_req):
     kwargs = self._get_extra_attributes(router_req, self.extra_attributes)
     # extra_attributes reference is populated via backref
     if not router_db['extra_attributes']:
         attributes_db = l3_attrs.RouterExtraAttributes(
             router_id=router_db['id'], **kwargs)
         context.session.add(attributes_db)
         router_db['extra_attributes'] = attributes_db
     else:
         # The record will exist if RouterExtraAttributes model's
         # attributes are added with db migrations over time
         router_db['extra_attributes'].update(kwargs)