def get_nuage_l2bridges(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = lib_db_utils.get_marker_obj(self, context, 'nuage_l2bridges', limit, marker) l2bridges = lib_model_query.get_collection(context, nuage_models.NuageL2bridge, self._make_l2bridges_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse) if not fields or 'physnets' in fields: for l2bridge in l2bridges: physnets = nuagedb.get_nuage_l2bridge_physnet_mappings( context.session, l2bridge_id=l2bridge['id']) l2bridge['physnets'] = self._make_physnet_mapping_dict( physnets) if not fields or 'networks' in fields: for l2bridge in l2bridges: networks = nuagedb.get_networks_for_nuage_l2bridge( context.session, l2bridge['id']) networks = [n['id'] for n in networks] l2bridge['networks'] = networks return l2bridges
def _query_gateway_devices(self, context, filters=None, sorts=None, limit=None, marker=None, page_reverse=None): marker_obj = db_utils.get_marker_obj(self, context, 'gateway_device', limit, marker) return model_query.get_collection_query( context, nsx_models.NetworkGatewayDevice, filters=filters, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_network_gateways(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = db_utils.get_marker_obj(self, context, 'network_gateway', limit, marker) return model_query.get_collection(context, nsx_models.NetworkGateway, self._make_network_gateway_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_port_pair_groups(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = db_utils.get_marker_obj(self, context, 'port_pair_group', limit, marker) return model_query.get_collection( context, PortPairGroup, self._make_port_pair_group_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_port_chains(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False, default_sg=False): marker_obj = db_utils.get_marker_obj(self, context, 'port_chain', limit, marker) return model_query.get_collection( context, PortChain, self._make_port_chain_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_switchport_mappings(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = lib_db_utils.get_marker_obj(self, context, 'switchport_mappings', limit, marker) return lib_model_query.get_collection( context, nuage_models.NuageSwitchportMapping, self._make_switchport_mapping_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_service_graphs(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): """Get Service Graphs.""" marker_obj = db_utils.get_marker_obj(self, context, 'service_graph', limit, marker) return model_query.get_collection( context, ServiceGraph, self._make_service_graph_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_flow_classifiers(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = db_utils.get_marker_obj(self, context, 'flow_classifier', limit, marker) return model_query.get_collection( context, FlowClassifier, self._make_flow_classifier_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_gateway_devices(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = db_utils.get_marker_obj(self, context, 'gateway_device', limit, marker) return model_query.get_collection(context, GatewayDevice, self._make_gateway_device_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_switchport_bindings(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): query = context.session.query( nuage_models.NuageSwitchportBinding, nuage_models.NuageSwitchportMapping.switch_id, nuage_models.NuageSwitchportMapping.port_id) query = query.outerjoin( nuage_models.NuageSwitchportMapping, nuage_models.NuageSwitchportMapping.port_uuid == nuage_models.NuageSwitchportBinding.switchport_uuid) query = query.distinct() if filters: for key, value in six.iteritems(filters): column = getattr(nuage_models.NuageSwitchportBinding, key, None) if column is None: column = getattr(nuage_models.NuageSwitchportMapping, key, None) if column is not None: if not value: query = query.filter(sql.false()) else: query = query.filter(column.in_(value)) if sorts: marker_obj = lib_db_utils.get_marker_obj(self, context, 'switchport_bindings', limit, marker) sort_dirs = ['asc' if s[1] else 'desc' for s in sorts] query = sa_utils.paginate_query( query, nuage_models.NuageSwitchportBinding, limit, marker=marker_obj, sort_keys=sorts, sort_dirs=sort_dirs) items = [ self._make_switchport_binding_dict_from_tuple(c, fields) for c in query ] if limit and page_reverse: items.reverse() return items
def get_gateway_device_remote_mac_entries(self, context, gateway_device_id, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = db_utils.get_marker_obj(self, context, 'remote_mac_entry', limit, marker) filters['device_id'] = [gateway_device_id] return model_query.get_collection(context, GatewayRemoteMacTable, self._make_remote_mac_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def _query_gateway_devices(self, context, filters=None, sorts=None, limit=None, marker=None, page_reverse=None): marker_obj = db_utils.get_marker_obj(self, context, 'gateway_device', limit, marker) return self._get_collection_query(context, nsx_models.NetworkGatewayDevice, filters=filters, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_flow_classifiers(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = db_utils.get_marker_obj(self, context, 'flow_classifier', limit, marker) return model_query.get_collection(context, FlowClassifier, self._make_flow_classifier_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_network_gateways(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = db_utils.get_marker_obj(self, context, 'network_gateway', limit, marker) return model_query.get_collection(context, nsx_models.NetworkGateway, self._make_network_gateway_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_qos_queues(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = db_utils.get_marker_obj(self, context, 'qos_queue', limit, marker) return model_query.get_collection(context, nsx_models.QoSQueue, self._make_qos_queue_dict, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def get_routers(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = db_utils.get_marker_obj(self, context, 'router', limit, marker) routers_db = model_query.get_collection(context, l3_db.Router, dict_func=None, filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse) return self._make_routers_dict(routers_db, fields)
def get_project_net_partition_mappings(self, context, filters=None, fields=None, sorts=None, limit=None, marker=None, page_reverse=False): marker_obj = ndb_utils.get_marker_obj(self, context, 'project_net_partition_mapping', limit, marker) return model_query.get_collection( context, nuage_models.NetPartitionProject, functools.partial(self._make_project_net_partition_mapping, context), filters=filters, fields=fields, sorts=sorts, limit=limit, marker_obj=marker_obj, page_reverse=page_reverse)
def test_get_marker_obj_no_limit_and_marker(self): self.assertIsNone( utils.get_marker_obj(mock.Mock(), 'ctx', 'myr', 0, mock.ANY)) self.assertIsNone( utils.get_marker_obj(mock.Mock(), 'ctx', 'myr', 10, None))
def test_get_marker_obj(self): plugin = mock.Mock() plugin._get_myr.return_value = 'obj' obj = utils.get_marker_obj(plugin, 'ctx', 'myr', 10, mock.ANY) self.assertEqual('obj', obj) plugin._get_myr.assert_called_once_with('ctx', mock.ANY)
def _get_marker_obj(self, context, resource, limit, marker): return db_utils.get_marker_obj(self, context, resource, limit, marker)
def _get_marker_obj(self, context, resource, limit, marker): return db_utils.get_marker_obj(self, context, resource, limit, marker)