- Created by Jeff van Dam on Jul 08, 2024
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
Version 1 Next »
Starting TEIV with Docker Compose
To start TEIV navigate to the 'docker-compose' directory in the 'teiv' repo and run 'docker-compose up'. This will bring up 3 Kafka containers, Zookeeper, PostgreSQL using PostGIS, TEIV Exposure, and TEIV Ingestion. The database won't be populated with any topology data, but the 'cloudEventProducer.sh' script in 'docker-compose/cloudEventProducer' can be used to populate the database with sample data that will enable querying of the database.
{ "entities": { "o-ran-smo-teiv-oam:ManagedElement": [ { "id": "urn:3gpp:dn:ManagedElement=NR01", "attributes": { "fdn": "ManagedElement=NR01", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "/o-ran-smo-ComTop:ManagedElement[@id=NR01]" } } } ], "o-ran-smo-teiv-ran:GNBDUFunction": [ { "id": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1", "attributes": { "gNBDUId": 1, "gNBId": 1, "gNBIdLength": 23, "dUpLMNId": { "mcc": 353, "mnc": 87 }, "fdn": "ManagedElement=NR01,GNBDUFunction=1", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "/o-ran-smo-ComTop:ManagedElement[@id=NR01]/o-ran-smo-GNBDU:GNBDUFunction[@id=1]" } } } ], "o-ran-smo-teiv-ran:NRSectorCarrier": [ { "id": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=1", "attributes": { "arfcnDL": 4000, "arfcnUL": 40000, "frequencyDL": 4, "frequencyUL": 40, "fdn": "ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=1", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "/o-ran-smo-ComTop:ManagedElement[@id=NR01]/o-ran-smo-GNBDU:GNBDUFunction[@id=1]/o-ran-smo-GNBDU:NRSectorCarrier[@id=1]" } } }, { "id": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=2", "attributes": { "arfcnDL": 5000, "arfcnUL": 50000, "frequencyDL": 5, "frequencyUL": 50, "fdn": "ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=2", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "/o-ran-smo-ComTop:ManagedElement[@id=NR01]/o-ran-smo-GNBDU:GNBDUFunction[@id=1]/o-ran-smo-GNBDU:NRSectorCarrier[@id=2]" } } }, { "id": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=3", "attributes": { "arfcnDL": 6000, "arfcnUL": 60000, "frequencyDL": 6, "frequencyUL": 60, "fdn": "ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=3", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "/o-ran-smo-ComTop:ManagedElement[@id=NR01]/o-ran-smo-GNBDU:GNBDUFunction[@id=1]/o-ran-smo-GNBDU:NRSectorCarrier[@id=3]" } } } ], "o-ran-smo-teiv-ran:NRCellDU": [ { "id": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRCellDU=1", "attributes": { "cellLocalId": 1, "nRTAC": 40, "nRPCI": 400, "nCI": 24577, "fdn": "ManagedElement=NR01,GNBDUFunction=1,NRCellDU=1", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "/o-ran-smo-ComTop:ManagedElement[@id=NR01]/o-ran-smo-GNBDU:GNBDUFunction[@id=1]/o-ran-smo-GNBDU:NRCellDU[@id=1]" } } }, { "id": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRCellDU=2", "attributes": { "cellLocalId": 2, "nRTAC": 50, "nRPCI": 500, "nCI": 24578, "fdn": "ManagedElement=NR01,GNBDUFunction=1,NRCellDU=2", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "/o-ran-smo-ComTop:ManagedElement[@id=NR01]/o-ran-smo-GNBDU:GNBDUFunction[@id=1]/o-ran-smo-GNBDU:NRCellDU[@id=2]" } } } ], "o-ran-smo-teiv-ran:AntennaCapability": [ { "id": "urn:3gpp:dn:ManagedElement=NR01,NodeSupport=1,SectorEquipmentFunction=1", "attributes": { "eUtranFqBands": "[1,2,3]", "geranFqBands": "[10,11,12]", "nRFqBands": "[100,101,102]", "fdn": "ManagedElement=NR01,NodeSupport=1,SectorEquipmentFunction=1", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "/o-ran-smo-ComTop:ManagedElement[@id=NR01]/o-ran-smo-ComTop:NodeSupport[@id=1]/o-ran-smo-RmeSectorEquipmentFunction:SectorEquipmentFunction[@id=1]" } } }, { "id": "urn:3gpp:dn:ManagedElement=NR01,NodeSupport=1,SectorEquipmentFunction=2", "attributes": { "eUtranFqBands": "[4,5,6]", "geranFqBands": "[13,14,15]", "nRFqBands": "[103,104,105]", "fdn": "ManagedElement=NR01,NodeSupport=1,SectorEquipmentFunction=2", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "/o-ran-smo-ComTop:ManagedElement[@id=NR01]/o-ran-smo-ComTop:NodeSupport[@id=1]/o-ran-smo-RmeSectorEquipmentFunction:SectorEquipmentFunction[@id=2]" } } } ], "o-ran-smo-teiv-equipment:AntennaModule": [ { "id": "urn:o-ran:smo-teiv-equipment:1", "attributes": { "antennaModelNumber": "1", "mechanicalAntennaBearing": 50, "mechanicalAntennaTilt": 10, "positionWithinSector": "Unknown", "totalTilt": 14, "electricalAntennaTilt": 2, "fdn": "Unknown", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "Unknown" } } }, { "id": "urn:o-ran:smo-teiv-equipment:2", "attributes": { "antennaModelNumber": "2", "mechanicalAntennaBearing": 45, "mechanicalAntennaTilt": 12, "positionWithinSector": "Unknown", "totalTilt": 15, "electricalAntennaTilt": 1, "fdn": "Unknown", "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "Unknown" } } } ], "o-ran-smo-teiv-equipment:Site": [ { "id": "urn:o-ran:smo-teiv-equipment:1", "attributes": { "name": "Site-1", "geo-location": { "latitude": 41.73297, "longitude": -78.007696 }, "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "Unknown" } } }, { "id": "urn:o-ran:smo-teiv-equipment:2", "attributes": { "name": "Site-2", "geo-location": { "latitude": 46.73297, "longitude": -76.007696 }, "cmId": { "cmHandle": "9D2C7AA8AECF0B5FDE21FDBD2B93EEAG", "resourceIdentifier": "Unknown" } } } ], "o-ran-smo-teiv-ran:Sector": [ { "id": "urn:o-ran:smo-teiv-ran:1", "attributes": { "sectorId": 1, "azimuth": 75.345, "geo-location": { "latitude": 40.73297, "longitude": -74.007696 } } }, { "id": "urn:o-ran:smo-teiv-ran:2", "attributes": { "sectorId": 2, "azimuth": 90.8967, "geo-location": { "latitude": 41.73297, "longitude": -73.007696 } } } ], "o-ran-smo-teiv-cloud:CloudifiedNF": [ { "id": "urn:o-ran:smo-teiv-cloud:1", "attributes": { "name": "CloudifiedNF-1" } } ], "o-ran-smo-teiv-cloud:NFDeployment": [ { "id": "urn:o-ran:smo-teiv-cloud:1", "attributes": { "name": "NFDeployment-1" } } ] }, "relationships": { "o-ran-smo-teiv-oam-to-ran:MANAGEDELEMENT_MANAGES_GNBDUFUNCTION": [ { "id": "urn:o-ran:smo-teiv-oam-to-logical:1", "aSide": "urn:3gpp:dn:ManagedElement=NR01", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1" } ], "o-ran-smo-teiv-ran:GNBDUFUNCTION_PROVIDES_NRSECTORCARRIER": [ { "id": "urn:o-ran:smo-teiv-ran:1", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=1" }, { "id": "urn:o-ran:smo-teiv-ran:2", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=2" }, { "id": "urn:o-ran:smo-teiv-ran:3", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=3" } ], "o-ran-smo-teiv-ran:GNBDUFUNCTION_PROVIDES_NRCELLDU": [ { "id": "urn:o-ran:smo-teiv-ran:1", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRCellDU=1" }, { "id": "urn:o-ran:smo-teiv-ran:2", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRCellDU=2" } ], "o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER": [ { "id": "urn:o-ran:smo-teiv-ran:1", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRCellDU=1", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=1" }, { "id": "urn:o-ran:smo-teiv-ran:2", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRCellDU=2", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=2" }, { "id": "urn:o-ran:smo-teiv-ran:3", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRCellDU=2", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=3" } ], "o-ran-smo-teiv-ran:NRSECTORCARRIER_USES_ANTENNACAPABILITY": [ { "id": "urn:o-ran:smo-teiv-ran:1", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=1", "bSide": "urn:3gpp:dn:ManagedElement=NR01,NodeSupport=1,SectorEquipmentFunction=1" }, { "id": "urn:o-ran:smo-teiv-ran:2", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=2", "bSide": "urn:3gpp:dn:ManagedElement=NR01,NodeSupport=1,SectorEquipmentFunction=2" }, { "id": "urn:o-ran:smo-teiv-ran:3", "aSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRSectorCarrier=3", "bSide": "urn:3gpp:dn:ManagedElement=NR01,NodeSupport=1,SectorEquipmentFunction=2" } ], "o-ran-smo-teiv-equipment-to-ran:ANTENNAMODULE_SERVES_ANTENNACAPABILITY": [ { "id": "urn:o-ran:smo-teiv-equipment-to-ran:1", "aSide": "urn:o-ran:smo-teiv-equipment:1", "bSide": "urn:3gpp:dn:ManagedElement=NR01,NodeSupport=1,SectorEquipmentFunction=1" }, { "id": "urn:o-ran:smo-teiv-equipment-to-ran:2", "aSide": "urn:o-ran:smo-teiv-equipment:2", "bSide": "urn:3gpp:dn:ManagedElement=NR01,NodeSupport=1,SectorEquipmentFunction=2" } ], "o-ran-smo-teiv-equipment:ANTENNAMODULE_INSTALLED_AT_SITE": [ { "id": "urn:o-ran:smo-teiv-equipment:1", "aSide": "urn:o-ran:smo-teiv-equipment:1", "bSide": "urn:o-ran:smo-teiv-equipment:1" }, { "id": "urn:o-ran:smo-teiv-equipment:2", "aSide": "urn:o-ran:smo-teiv-equipment:2", "bSide": "urn:o-ran:smo-teiv-equipment:2" } ], "o-ran-smo-teiv-equipment-to-ran:SECTOR_GROUPS_NRCELLDU": [ { "id": "urn:o-ran:smo-teiv-equipment-to-ran:1", "aSide": "urn:o-ran:smo-teiv-ran:1", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRCellDU=1" }, { "id": "urn:o-ran:smo-teiv-equipment-to-ran:2", "aSide": "urn:o-ran:smo-teiv-ran:2", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRCellDU=2" }, { "id": "urn:o-ran:smo-teiv-equipment-to-ran:3", "aSide": "urn:o-ran:smo-teiv-ran:2", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1,NRCellDU=3" } ], "o-ran-smo-teiv-oam-to-cloud:NFDEPLOYMENT_SERVES_MANAGEDELEMENT": [ { "id": "urn:o-ran:smo-teiv-oam-to-cloud:1", "aSide": "urn:o-ran:smo-teiv-cloud:1", "bSide": "urn:3gpp:dn:ManagedElement=NR01" } ], "o-ran-smo-teiv-oam-to-cloud:MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF": [ { "id": "urn:o-ran:smo-teiv-oam-to-cloud:1", "aSide": "urn:3gpp:dn:ManagedElement=NR01", "bSide": "urn:o-ran:smo-teiv-cloud:1" } ], "o-ran-smo-teiv-cloud:CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT": [ { "id": "urn:o-ran:smo-teiv-cloud:1", "aSide": "urn:o-ran:smo-teiv-cloud:1", "bSide": "urn:o-ran:smo-teiv-cloud:1" } ], "o-ran-smo-teiv-cloud-to-ran:NFDEPLOYMENT_SERVES_GNBDUFUNCTION": [ { "id": "urn:o-ran:smo-teiv-cloud-to-ran:1", "aSide": "urn:o-ran:smo-teiv-cloud:1", "bSide": "urn:3gpp:dn:ManagedElement=NR01,GNBDUFunction=1" } ] } }
Retrieving and using topology modules
Topology & Inventory provides APIs to enable users to query module data that can be used to understand the existing topology and inventory model, parse the modules, and understand what objects are supported over the R1 interface, so adequate queries can be made on topology and inventory data.
The API endpoints returning lists support pagination. The default value for number of items returned is 500, which is also the upper limit.
Sample request to fetch a list of all modules in TEIV:
GET https://<host>/topology-inventory/<API_VERSION>/schemas
Response:
{ "items": [ { "domain": [], "name": "o-ran-smo-teiv-common-yang-extensions", "content": { "href": "/schemas/o-ran-smo-teiv-common-yang-extensions/content" }, "revision": "2024-05-02" }, { "domain": [ "OAM_TO_CLOUD" ], "name": "o-ran-smo-teiv-oam-to-cloud", "content": { "href": "/schemas/o-ran-smo-teiv-oam-to-cloud/content" }, "revision": "2024-05-02" }, { "domain": [], "name": "o-ran-smo-teiv-common-yang-types", "content": { "href": "/schemas/o-ran-smo-teiv-common-yang-types/content" }, "revision": "2024-05-02" }, { "domain": [ "OAM" ], "name": "o-ran-smo-teiv-oam", "content": { "href": "/schemas/o-ran-smo-teiv-oam/content" }, "revision": "2024-05-02" }, { "domain": [ "OAM_TO_RAN" ], "name": "o-ran-smo-teiv-oam-to-ran", "content": { "href": "/schemas/o-ran-smo-teiv-oam-to-ran/content" }, "revision": "2024-05-02" }, { "domain": [ "RAN" ], "name": "o-ran-smo-teiv-ran", "content": { "href": "/schemas/o-ran-smo-teiv-ran/content" }, "revision": "2024-05-02" }, { "domain": [ "EQUIPMENT" ], "name": "o-ran-smo-teiv-equipment", "content": { "href": "/schemas/o-ran-smo-teiv-equipment/content" }, "revision": "2024-05-02" }, { "domain": [ "CLOUD_TO_RAN" ], "name": "o-ran-smo-teiv-cloud-to-ran", "content": { "href": "/schemas/o-ran-smo-teiv-cloud-to-ran/content" }, "revision": "2024-05-02" }, { "domain": [ "CLOUD" ], "name": "o-ran-smo-teiv-cloud", "content": { "href": "/schemas/o-ran-smo-teiv-cloud/content" }, "revision": "2024-05-02" }, { "domain": [ "EQUIPMENT_TO_RAN" ], "name": "o-ran-smo-teiv-equipment-to-ran", "content": { "href": "/schemas/o-ran-smo-teiv-equipment-to-ran/content" }, "revision": "2024-05-02" } ], "self": { "href": "/schemas?offset=0&limit=500" }, "first": { "href": "/schemas?offset=0&limit=500" }, "prev": { "href": "/schemas?offset=0&limit=500" }, "next": { "href": "/schemas?offset=0&limit=500" }, "last": { "href": "/schemas?offset=0&limit=500" }, "totalCount": 10 }
Sample request to fetch a list of all modules related to the CLOUD domain:
GET https://<host>/topology-inventory/<API_VERSION>/schemas?domain=.*CLOUD.*
Response:
{ "items": [ { "domain": [ "CLOUD" ], "name": "o-ran-smo-teiv-cloud", "content": { "href": "/schemas/o-ran-smo-teiv-cloud/content" }, "revision": "2024-05-02" } ], "self": { "href": "/schemas?offset=0&limit=500" }, "first": { "href": "/schemas?offset=0&limit=500" }, "prev": { "href": "/schemas?offset=0&limit=500" }, "next": { "href": "/schemas?offset=0&limit=500" }, "last": { "href": "/schemas?offset=0&limit=500" }, "totalCount": 1 }
Sample request to fetch the module data for the o-ran-smo-teiv-ran module:
Reading and querying topology and inventory
Reading entities and relationships
Querying entities and relationships
- No labels