Esempio n. 1
0
 def update_member(self, context, id, member):
     v = member['member']
     try:
         with context.session.begin(subtransactions=True):
             member_db = self._get_resource(context, Member, id)
             self.assert_modification_allowed(member_db)
             if v:
                 member_db.update(v)
         return self._make_member_dict(member_db)
     except exception.DBDuplicateEntry:
         raise loadbalancer.MemberExists(address=member_db['address'],
                                         port=member_db['protocol_port'],
                                         pool=member_db['pool_id'])
Esempio n. 2
0
    def create_member(self, context, member):
        v = member['member']

        try:
            with context.session.begin(subtransactions=True):
                # ensuring that pool exists
                self._get_resource(context, Pool, v['pool_id'])
                member_db = Member(id=uuidutils.generate_uuid(),
                                   tenant_id=v['tenant_id'],
                                   pool_id=v['pool_id'],
                                   address=v['address'],
                                   protocol_port=v['protocol_port'],
                                   weight=v['weight'],
                                   admin_state_up=v['admin_state_up'],
                                   status=constants.PENDING_CREATE)
                context.session.add(member_db)
                return self._make_member_dict(member_db)
        except exception.DBDuplicateEntry:
            raise loadbalancer.MemberExists(address=v['address'],
                                            port=v['protocol_port'],
                                            pool=v['pool_id'])