Building such an image is pretty straightforward:
-1. `cd` into the `ntsimulator/deploy/o-ran-du-rel-18` folder and then run the `get_3gpp_yangs.sh` bash script. This will download the necessary 3GPP YANG models locally.
-2. run the `nts_build_o_du_rel_18.sh` bash script from `ntsimulator` folder. It will produce a docker image with the name `nts-ng-o-ran-du-rel-18` and the version tag defined in the `.env` file, under the `NTS_BUILD_VERSION` environment variable.
+1. run the `nts_build_o_du_rel_18.sh` bash script from `ntsimulator` folder. It will download the necessary 3GPP YANG models and then produce a docker image with the name `nts-ng-o-ran-du-rel-18` and the version tag defined in the `.env` file, under the `NTS_BUILD_VERSION` environment variable.
-<ManagedElement xmlns="urn:3gpp:sa5:_3gpp-common-managed-element">
- <id>network-function-1</id>
-</ManagedElement>
+ <ManagedElement xmlns="urn:3gpp:sa5:_3gpp-common-managed-element">
+ <id>ManagedElement=1</id>
+ <attributes>
+ <priorityLabel>20</priorityLabel>
+ <swVersion>NTS-1.6.1</swVersion>
+ </attributes>
+ <GNBDUFunction xmlns="urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction">
+ <id>ManagedElement=1,GNBDUFunction=1</id>
+ <attributes>
+ <priorityLabel>20</priorityLabel>
+ <gNBId>10</gNBId>
+ <gNBIdLength>32</gNBIdLength>
+ <gNBDUId>1</gNBDUId>
+ <gNBDUName>O-DU-1123</gNBDUName>
+ </attributes>
+ <NRCellDU xmlns="urn:3gpp:sa5:_3gpp-nr-nrm-nrcelldu">
+ <id>ManagedElement=1,GNBDUFunction=1,NRCellDU=1</id>
+ <attributes>
+ <priorityLabel>20</priorityLabel>
+ <cellLocalId>1</cellLocalId>
+ <pLMNInfoList>
+ <mcc>001</mcc>
+ <mnc>001</mnc>
+ <sd>FFFFFF</sd>
+ <sst>1</sst>
+ </pLMNInfoList>
+ <nPNIdentityList>
+ <idx>0</idx>
+ <plmnid>
+ <mcc>001</mcc>
+ <mnc>001</mnc>
+ </plmnid>
+ <cAGIdList>cAGId-1</cAGIdList>
+ <nIDList>nID-1</nIDList>
+ </nPNIdentityList>
+ <nRPCI>0</nRPCI>
+ <arfcnDL>1</arfcnDL>
+ <rimRSMonitoringStartTime>2023-06-18T19:00:00.0Z</rimRSMonitoringStartTime>
+ <rimRSMonitoringStopTime>2023-12-18T19:00:00.0Z</rimRSMonitoringStopTime>
+ <rimRSMonitoringWindowDuration>900</rimRSMonitoringWindowDuration>
+ <rimRSMonitoringWindowStartingOffset>0</rimRSMonitoringWindowStartingOffset>
+ <rimRSMonitoringWindowPeriodicity>1</rimRSMonitoringWindowPeriodicity>
+ <rimRSMonitoringOccasionInterval>900</rimRSMonitoringOccasionInterval>
+ <rimRSMonitoringOccasionStartingOffset>0</rimRSMonitoringOccasionStartingOffset>
+ <ssbFrequency>2100000</ssbFrequency>
+ <ssbPeriodicity>5</ssbPeriodicity>
+ <ssbSubCarrierSpacing>30</ssbSubCarrierSpacing>
+ <ssbOffset>0</ssbOffset>
+ <ssbDuration>5</ssbDuration>
+ <victimSetRef>UID=nobody@example.com,DC=example,DC=com</victimSetRef>
+ <aggressorSetRef>UID=nobody@example.com,DC=example,DC=com</aggressorSetRef>
+ <nRSectorCarrierRef>ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=1</nRSectorCarrierRef>
+ </attributes>
+ <ManagedNFService>
+ <id>ManagedElement=1,GNBDUFunction=1,NRCellDU=1,ManagedNFService=1</id>
+ <attributes>
+ <sAP>
+ <host>172.27.10.1</host>
+ <port>830</port>
+ </sAP>
+ <operations>
+ <name>netconf-edit-config</name>
+ <allowedNFTypes>O-RU</allowedNFTypes>
+ </operations>
+ <administrativeState>UNLOCKED</administrativeState>
+ <nFServiceType>o-ru_serviceX</nFServiceType>
+ <operationalState>ENABLED</operationalState>
+ <usageState>IDLE</usageState>
+ <registrationState>REGISTERED</registrationState>
+ </attributes>
+ </ManagedNFService>
+ </NRCellDU>
+ <NRSectorCarrier xmlns="urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrsectorcarrier">
+ <id>ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=1</id>
+ <attributes>
+ <priorityLabel>20</priorityLabel>
+ <txDirection>DL_AND_UL</txDirection>
+ <configuredMaxTxPower>10</configuredMaxTxPower>
+ <configuredMaxTxEIRP>-30</configuredMaxTxEIRP>
+ <arfcnDL>2100000</arfcnDL>
+ <arfcnUL>2100000</arfcnUL>
+ <bSChannelBwDL>100</bSChannelBwDL>
+ <bSChannelBwUL>100</bSChannelBwUL>
+ <sectorEquipmentFunctionRef>ManagedElement=1,GNBDUFunction=1,SectorEquipmentFunction=1</sectorEquipmentFunctionRef>
+ </attributes>
+ <ManagedNFService>
+ <id>ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=1,ManagedNFService=1</id>
+ <attributes>
+ <sAP>
+ <host>172.27.10.1</host>
+ <port>830</port>
+ </sAP>
+ <operations>
+ <name>netconf-edit-config</name>
+ <allowedNFTypes>O-RU</allowedNFTypes>
+ </operations>
+ <administrativeState>UNLOCKED</administrativeState>
+ <nFServiceType>o-ru_serviceX</nFServiceType>
+ <operationalState>ENABLED</operationalState>
+ <usageState>IDLE</usageState>
+ <registrationState>REGISTERED</registrationState>
+ </attributes>
+ </ManagedNFService>
+ </NRSectorCarrier>
+ </GNBDUFunction>
+ </ManagedElement>
-<ManagedElement xmlns="urn:3gpp:sa5:_3gpp-common-managed-element">
- <id>network-function-1</id>
+ <ManagedElement xmlns="urn:3gpp:sa5:_3gpp-common-managed-element">
+ <id>ManagedElement=1</id>
<attributes>
- <priorityLabel>20</priorityLabel>
+ <priorityLabel>20</priorityLabel>
</attributes>
-</ManagedElement>
+ <GNBDUFunction xmlns="urn:3gpp:sa5:_3gpp-nr-nrm-gnbdufunction">
+ <id>ManagedElement=1,GNBDUFunction=1</id>
+ <attributes>
+ <priorityLabel>20</priorityLabel>
+ <gNBId>10</gNBId>
+ <gNBIdLength>32</gNBIdLength>
+ <gNBDUId>1</gNBDUId>
+ <gNBDUName>O-DU-1123</gNBDUName>
+ </attributes>
+ <NRCellDU xmlns="urn:3gpp:sa5:_3gpp-nr-nrm-nrcelldu">
+ <id>ManagedElement=1,GNBDUFunction=1,NRCellDU=1</id>
+ <attributes>
+ <priorityLabel>20</priorityLabel>
+ <cellLocalId>1</cellLocalId>
+ <pLMNInfoList>
+ <mcc>001</mcc>
+ <mnc>001</mnc>
+ <sd>FFFFFF</sd>
+ <sst>1</sst>
+ </pLMNInfoList>
+ <nPNIdentityList>
+ <idx>0</idx>
+ <plmnid>
+ <mcc>001</mcc>
+ <mnc>001</mnc>
+ </plmnid>
+ <cAGIdList>cAGId-1</cAGIdList>
+ <nIDList>nID-1</nIDList>
+ </nPNIdentityList>
+ <nRPCI>0</nRPCI>
+ <arfcnDL>1</arfcnDL>
+ <rimRSMonitoringStartTime>2023-06-18T19:00:00.0Z</rimRSMonitoringStartTime>
+ <rimRSMonitoringStopTime>2023-12-18T19:00:00.0Z</rimRSMonitoringStopTime>
+ <rimRSMonitoringWindowDuration>900</rimRSMonitoringWindowDuration>
+ <rimRSMonitoringWindowStartingOffset>0</rimRSMonitoringWindowStartingOffset>
+ <rimRSMonitoringWindowPeriodicity>1</rimRSMonitoringWindowPeriodicity>
+ <rimRSMonitoringOccasionInterval>900</rimRSMonitoringOccasionInterval>
+ <rimRSMonitoringOccasionStartingOffset>0</rimRSMonitoringOccasionStartingOffset>
+ <ssbFrequency>2100000</ssbFrequency>
+ <ssbPeriodicity>5</ssbPeriodicity>
+ <ssbSubCarrierSpacing>30</ssbSubCarrierSpacing>
+ <ssbOffset>0</ssbOffset>
+ <ssbDuration>5</ssbDuration>
+ <victimSetRef>UID=nobody@example.com,DC=example,DC=com</victimSetRef>
+ <aggressorSetRef>UID=nobody@example.com,DC=example,DC=com</aggressorSetRef>
+ <nRSectorCarrierRef>ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=1</nRSectorCarrierRef>
+ </attributes>
+ <ManagedNFService>
+ <id>ManagedElement=1,GNBDUFunction=1,NRCellDU=1,ManagedNFService=1</id>
+ <attributes>
+ <sAP>
+ <host>172.27.10.1</host>
+ <port>830</port>
+ </sAP>
+ <operations>
+ <name>netconf-edit-config</name>
+ <allowedNFTypes>O-RU</allowedNFTypes>
+ </operations>
+ <administrativeState>UNLOCKED</administrativeState>
+ </attributes>
+ </ManagedNFService>
+ </NRCellDU>
+ <NRSectorCarrier xmlns="urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrsectorcarrier">
+ <id>ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=1</id>
+ <attributes>
+ <priorityLabel>20</priorityLabel>
+ <txDirection>DL_AND_UL</txDirection>
+ <configuredMaxTxPower>10</configuredMaxTxPower>
+ <configuredMaxTxEIRP>-30</configuredMaxTxEIRP>
+ <arfcnDL>2100000</arfcnDL>
+ <arfcnUL>2100000</arfcnUL>
+ <bSChannelBwDL>100</bSChannelBwDL>
+ <bSChannelBwUL>100</bSChannelBwUL>
+ <sectorEquipmentFunctionRef>ManagedElement=1,GNBDUFunction=1,SectorEquipmentFunction=1</sectorEquipmentFunctionRef>
+ </attributes>
+ <ManagedNFService>
+ <id>ManagedElement=1,GNBDUFunction=1,NRSectorCarrier=1,ManagedNFService=1</id>
+ <attributes>
+ <sAP>
+ <host>172.27.10.1</host>
+ <port>830</port>
+ </sAP>
+ <operations>
+ <name>netconf-edit-config</name>
+ <allowedNFTypes>O-RU</allowedNFTypes>
+ </operations>
+ <administrativeState>UNLOCKED</administrativeState>
+ </attributes>
+ </ManagedNFService>
+ </NRSectorCarrier>
+ </GNBDUFunction>
+ </ManagedElement>
################################################################################
source .env
+./deploy/o-ran-du-rel-18/get_3gpp_yangs.sh
docker-compose -f nts-ng-docker-image-build-ubuntu.yaml build --build-arg NTS_BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') --build-arg NTS_BUILD_VERSION=$NTS_BUILD_VERSION nts-ng-base nts-ng-o-ran-du-rel-18