示例#1
0
 def save(self):
     context = self._context
     updates = self._get_primitive_changes()
     if 'netmask_v6' in updates:
         # NOTE(danms): For some reason, historical code stores the
         # IPv6 netmask as just the CIDR mask length, so convert that
         # back here before saving for now.
         updates['netmask_v6'] = netaddr.IPNetwork(
             updates['netmask_v6']).netmask
     set_host = 'host' in updates
     if set_host:
         db.network_set_host(context, self.id, updates.pop('host'))
     if updates:
         db_network = db.network_update(context, self.id, updates)
     elif set_host:
         db_network = db.network_get(context, self.id)
     else:
         db_network = None
     if db_network is not None:
         self._from_db_object(context, self, db_network)
示例#2
0
 def get_by_id(cls, context, network_id, project_only='allow_none'):
     db_network = db.network_get(context,
                                 network_id,
                                 project_only=project_only)
     return cls._from_db_object(context, cls(), db_network)