RPC_NAMESPACE_STATE = None # RPC interface for agent to plugin resources API RPC_NAMESPACE_RESOURCES = None # Default network MTU value when not configured DEFAULT_NETWORK_MTU = 1500 IPV6_MIN_MTU = 1280 ROUTER_MARK_MASK = "0xffff" # Agent states as detected by server, used to reply on agent's state report # agent has just been registered AGENT_NEW = 'new' # agent is alive AGENT_ALIVE = 'alive' # agent has just returned to alive after being dead AGENT_REVIVED = 'revived' # Neutron-lib migration shim. This will wrap any constants that are moved # to that library in a deprecation warning, until they can be updated to # import directly from their new location. # If you're wondering why we bother saving _OLD_REF, it is because if we # do not, then the original module we are overwriting gets garbage collected, # and then you will find some super strange behavior with inherited classes # and the like. Saving a ref keeps it around. # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE _OLD_REF = sys.modules[__name__] sys.modules[__name__] = _deprecate._DeprecateSubset(globals(), lib_constants) # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE
VALID_DIRECTIONS = (INGRESS_DIRECTION, EGRESS_DIRECTION) VALID_ETHERTYPES = (lib_constants.IPv4, lib_constants.IPv6) IP_ALLOWED_VERSIONS = [lib_constants.IP_VERSION_4, lib_constants.IP_VERSION_6] IPV4_MAX_PREFIXLEN = 32 IPV6_MAX_PREFIXLEN = 128 # Some components communicate using private address ranges, define # them all here. These address ranges should not cause any issues # even if they overlap since they are used in disjoint namespaces, # but for now they are unique. # We define the metadata cidr since it falls in the range. PRIVATE_CIDR_RANGE = '169.254.0.0/16' DVR_FIP_LL_CIDR = '169.254.64.0/18' L3_HA_NET_CIDR = '169.254.192.0/18' METADATA_CIDR = '169.254.169.254/32' # Neutron-lib migration shim. This will wrap any constants that are moved # to that library in a deprecation warning, until they can be updated to # import directly from their new location. # If you're wondering why we bother saving _OLD_REF, it is because if we # do not, then the original module we are overwriting gets garbage collected, # and then you will find some super strange behavior with inherited classes # and the like. Saving a ref keeps it around. # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE _OLD_REF = sys.modules[__name__] sys.modules[__name__] = _deprecate._DeprecateSubset(globals(), lib_constants) # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE
class NetworkSubnetPoolAffinityError(e.BadRequest): message = _("Subnets hosted on the same network must be allocated from " "the same subnet pool.") class ObjectActionError(e.NeutronException): message = _('Object action %(action)s failed because: %(reason)s.') class CTZoneExhaustedError(e.NeutronException): message = _("IPtables conntrack zones exhausted, iptables rules cannot " "be applied.") class TenantQuotaNotFound(e.NotFound): message = _("Quota for tenant %(tenant_id)s could not be found.") # Neutron-lib migration shim. This will wrap any exceptions that are moved # to that library in a deprecation warning, until they can be updated to # import directly from their new location. # If you're wondering why we bother saving _OLD_REF, it is because if we # do not, then the original module we are overwriting gets garbage collected, # and then you will find some super strange behavior with inherited classes # and the like. Saving a ref keeps it around. # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE _OLD_REF = sys.modules[__name__] sys.modules[__name__] = _deprecate._DeprecateSubset(globals(), e) # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE
This method returns a flag which indicates request notification is required and does not perform notification itself. It is because another changes for the port may require notification. """ need_notify = False port_updates = port['port'] if (ext_sg.SECURITYGROUPS in port_updates and not utils.compare_elements( original_port.get(ext_sg.SECURITYGROUPS), port_updates[ext_sg.SECURITYGROUPS])): # delete the port binding and read it with the new rules port_updates[ext_sg.SECURITYGROUPS] = ( self._get_security_groups_on_port(context, port)) self._delete_port_security_group_bindings(context, id) self._process_port_create_security_group( context, updated_port, port_updates[ext_sg.SECURITYGROUPS]) need_notify = True else: updated_port[ext_sg.SECURITYGROUPS] = ( original_port[ext_sg.SECURITYGROUPS]) return need_notify # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE _OLD_REF = sys.modules[__name__] sys.modules[__name__] = _deprecate._DeprecateSubset(globals(), sg_models) # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE
address_scope = self._get_address_scope(context, id) context.session.delete(address_scope) def _extend_network_dict_address_scope(self, network_res, network_db): network_res[ext_address_scope.IPV4_ADDRESS_SCOPE] = None network_res[ext_address_scope.IPV6_ADDRESS_SCOPE] = None subnetpools = { subnet.subnetpool for subnet in network_db.subnets if subnet.subnetpool } for subnetpool in subnetpools: # A network will be constrained to only one subnetpool per address # family. Retrieve the address scope of subnetpools as the address # scopes of network. as_id = subnetpool[ext_address_scope.ADDRESS_SCOPE_ID] if subnetpool['ip_version'] == constants.IP_VERSION_4: network_res[ext_address_scope.IPV4_ADDRESS_SCOPE] = as_id if subnetpool['ip_version'] == constants.IP_VERSION_6: network_res[ext_address_scope.IPV6_ADDRESS_SCOPE] = as_id return network_res db_base_plugin_v2.NeutronDbPluginV2.register_dict_extend_funcs( attr.NETWORKS, ['_extend_network_dict_address_scope']) # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE _OLD_REF = sys.modules[__name__] sys.modules[__name__] = _deprecate._DeprecateSubset(globals(), address_scope_model) # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE
def allocate_tenant_segment(self, session): # Tenant flat networks are not supported. return def release_segment(self, session, segment): physical_network = segment[api.PHYSICAL_NETWORK] with session.begin(subtransactions=True): count = (session.query(type_flat_model.FlatAllocation).filter_by( physical_network=physical_network).delete()) if count: LOG.debug("Releasing flat network on physical network %s", physical_network) else: LOG.warning(_LW("No flat network found on physical network %s"), physical_network) def get_mtu(self, physical_network): seg_mtu = super(FlatTypeDriver, self).get_mtu() mtu = [] if seg_mtu > 0: mtu.append(seg_mtu) if physical_network in self.physnet_mtus: mtu.append(int(self.physnet_mtus[physical_network])) return min(mtu) if mtu else 0 # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE _OLD_REF = sys.modules[__name__] sys.modules[__name__] = _deprecate._DeprecateSubset(globals(), type_flat_model) # WARNING: THESE MUST BE THE LAST TWO LINES IN THIS MODULE