diff options
Diffstat (limited to 'sdnr/wt/devicemanager-oran/provider')
18 files changed, 0 insertions, 3956 deletions
diff --git a/sdnr/wt/devicemanager-oran/provider/copyright b/sdnr/wt/devicemanager-oran/provider/copyright deleted file mode 100644 index 754b6218f..000000000 --- a/sdnr/wt/devicemanager-oran/provider/copyright +++ /dev/null @@ -1,17 +0,0 @@ -/** - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - */ diff --git a/sdnr/wt/devicemanager-oran/provider/pom.xml b/sdnr/wt/devicemanager-oran/provider/pom.xml deleted file mode 100644 index 3e1b35d7b..000000000 --- a/sdnr/wt/devicemanager-oran/provider/pom.xml +++ /dev/null @@ -1,174 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ============LICENSE_START======================================================= - ONAP : CCSDK / SDNR / WT / devicemanager - ================================================================================ - Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All - rights reserved. - ================================================================================ - Licensed under the Apache License, Version 2.0 (the "License"); you may not - use this file except in compliance with the License. You may obtain a copy - of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required - by applicable law or agreed to in writing, software distributed under the - License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS - OF ANY KIND, either express or implied. See the License for the specific - language governing permissions and limitations under the License. - ============LICENSE_END========================================================= ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.onap.ccsdk.parent</groupId> - <artifactId>binding-parent</artifactId> - <version>1.5.1</version> - <relativePath/> - </parent> - - <groupId>org.onap.ccsdk.features.sdnr.wt</groupId> - <artifactId>sdnr-wt-devicemanager-oran-provider</artifactId> - <version>0.7.0-SNAPSHOT</version> - <packaging>bundle</packaging> - - <name>ccsdk-features :: ${project.artifactId}</name> - <licenses> - <license> - <name>Apache License, Version 2.0</name> - <url>http://www.apache.org/licenses/LICENSE-2.0</url> - </license> - </licenses> - - <properties> - <checkstyle.skip>true</checkstyle.skip> <!-- POM configuration --> - <maven.javadoc.skip>true</maven.javadoc.skip> - <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format> - <buildtime>${maven.build.timestamp} UTC</buildtime> - <elasticsearch.version>6.4.3</elasticsearch.version> - <databaseport>49400</databaseport> - </properties> - - <dependencies> - <!-- begin for testing --> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <scope>test</scope> - </dependency> - - <!-- end for testing --> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>sdnr-wt-devicemanager-oran-model</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.onap.ccsdk.features.sdnr.wt</groupId> - <artifactId>sdnr-wt-devicemanager-model</artifactId> - <version>${project.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>sdnr-wt-netconfnode-state-service-model</artifactId> - <version>${project.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.opendaylight.netconf</groupId> - <artifactId>sal-netconf-connector</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.opendaylight.mdsal</groupId> - <artifactId>mdsal-singleton-common-api</artifactId> - <scope>provided</scope> - </dependency> - </dependencies> - - <build> - <resources> - <resource> - <directory>src/main/resources</directory> - <filtering>true</filtering> - </resource> - </resources> - <plugins> - <plugin> - <groupId>org.jacoco</groupId> - <artifactId>jacoco-maven-plugin</artifactId> - <configuration> - <excludes> - <exclude>**/gen/**</exclude> - <exclude>**/generated-sources/**</exclude> - <exclude>**/yang-gen-sal/**</exclude> - <exclude>**/pax/**</exclude> - </excludes> - </configuration> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <executions> - <execution> - <id>generateDTOs</id> - <phase>generate-sources</phase> - <goals> - <goal>exec</goal> - </goals> - <configuration> - <executable>bash</executable> - <arguments> - <argument>${basedir}/../../data-provider/database/src/main/resources/es-init.sh</argument> - <argument>initfile</argument> - <argument>-f</argument> - <argument>${project.build.directory}/EsInit.script</argument> - </arguments> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>com.github.alexcojocaru</groupId> - <artifactId>elasticsearch-maven-plugin</artifactId> - <version>6.16</version> - <configuration> - <clusterName>testCluster</clusterName> - <transportPort>9500</transportPort> - <httpPort>${databaseport}</httpPort> - <version>6.5.0</version> - <timeout>120</timeout> - <pathInitScript>${project.build.directory}/EsInit.script</pathInitScript> - <skip>${skipTests}</skip> - </configuration> - <executions> - <execution> - <id>start-elasticsearch</id> - <phase>process-test-classes</phase> - <goals> - <goal>runforked</goal> - </goals> - </execution> - <execution> - <id>stop-elasticsearch</id> - <phase>prepare-package</phase> - <goals> - <goal>stop</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <configuration> - <systemProperties> - <property> - <name>databaseport</name> - <value>${databaseport}</value> - </property> - </systemProperties> - </configuration> - </plugin> - </plugins> - </build> -</project> diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/DeviceManagerORanImpl.java b/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/DeviceManagerORanImpl.java deleted file mode 100644 index 991128d10..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/DeviceManagerORanImpl.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - ******************************************************************************/ -package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl; - -import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient; -import org.onap.ccsdk.features.sdnr.wt.devicemanager.FactoryRegistration; -import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetconfNetworkElementService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class DeviceManagerORanImpl implements AutoCloseable { - - private static final Logger LOG = LoggerFactory.getLogger(DeviceManagerORanImpl.class); - private static final String APPLICATION_NAME = "DeviceManagerORan"; - @SuppressWarnings("unused") - private static final String CONFIGURATIONFILE = "etc/devicemanager-oran.properties"; - - - private NetconfNetworkElementService netconfNetworkElementService; - - private HtDatabaseClient htDatabaseClient; - private Boolean devicemanagerInitializationOk = false; - private FactoryRegistration<ORanNetworkElementFactory> resORan; - - // Blueprint begin - public DeviceManagerORanImpl() { - LOG.info("Creating provider for {}", APPLICATION_NAME); - resORan = null; - } - - public void setNetconfNetworkElementService(NetconfNetworkElementService netconfNetworkElementService) { - this.netconfNetworkElementService = netconfNetworkElementService; - } - - public void init() throws Exception { - - LOG.info("Session Initiated start {}", APPLICATION_NAME); - - resORan = netconfNetworkElementService.registerNetworkElementFactory(new ORanNetworkElementFactory()); - - - netconfNetworkElementService.writeToEventLog(APPLICATION_NAME, "startup", "done"); - this.devicemanagerInitializationOk = true; - - LOG.info("Session Initiated end. Initialization done {}", devicemanagerInitializationOk); - } - // Blueprint end - - @Override - public void close() throws Exception { - LOG.info("closing ..."); - close(htDatabaseClient); - close(resORan); - LOG.info("closing done"); - } - - /** - * Used to close all Services, that should support AutoCloseable Pattern - * - * @param toClose - * @throws Exception - */ - private void close(AutoCloseable... toCloseList) { - for (AutoCloseable element : toCloseList) { - if (element != null) { - try { - element.close(); - } catch (Exception e) { - LOG.warn("Fail during close: ", e); - } - } - } - } -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/NtsNetworkElement.java b/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/NtsNetworkElement.java deleted file mode 100644 index c37c45506..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/NtsNetworkElement.java +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - ******************************************************************************/ -/** - * - */ -package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl; - -import java.util.Optional; -import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider; -import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement; -import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElementService; -import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementDeviceType; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author herbert - * - */ -public class NtsNetworkElement implements NetworkElement { - - private static final Logger LOG = LoggerFactory.getLogger(NtsNetworkElement.class); - - private final INetconfAcessor netconfAccessor; - - @SuppressWarnings("unused") - private final DataProvider databaseService; - - NtsNetworkElement(INetconfAcessor netconfAccess, DataProvider databaseService) { - LOG.info("Create {}",NtsNetworkElement.class.getSimpleName()); - this.netconfAccessor = netconfAccess; - this.databaseService = databaseService; - } - - @Override - public void deregister() { - } - - @Override - public NodeId getNodeId() { - return netconfAccessor.getNodeId(); - } - - @Override - public <L extends NetworkElementService> Optional<L> getService(Class<L> clazz) { - return Optional.empty(); - } - - @Override - public void warmstart() { - } - - @Override - public void register() { - } - - @Override - public NetworkElementDeviceType getDeviceType() { - return NetworkElementDeviceType.NtsManager; - } -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanChangeNotificationListener.java b/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanChangeNotificationListener.java deleted file mode 100644 index 118c2d62e..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanChangeNotificationListener.java +++ /dev/null @@ -1,99 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - ******************************************************************************/ -package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl; - -import java.util.List; -import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider; -import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.IetfNetconfNotificationsListener; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfCapabilityChange; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfConfigChange; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfConfirmedCommit; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfSessionEnd; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfSessionStart; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.netconf.config.change.Edit; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EventlogBuilder; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Listener for change notifications - */ -public class ORanChangeNotificationListener implements IetfNetconfNotificationsListener { - - private static final Logger log = LoggerFactory.getLogger(ORanChangeNotificationListener.class); - - private final INetconfAcessor netconfAccessor; - private final DataProvider databaseService; - - ORanChangeNotificationListener(INetconfAcessor netconfAccessor, DataProvider databaseService) { - this.netconfAccessor = netconfAccessor; - this.databaseService = databaseService; - } - - @Override - public void onNetconfConfirmedCommit(NetconfConfirmedCommit notification) { - log.info("onNetconfConfirmedCommit ", notification); - } - - @Override - public void onNetconfSessionStart(NetconfSessionStart notification) { - log.info("onNetconfSessionStart ", notification); - } - - @Override - public void onNetconfSessionEnd(NetconfSessionEnd notification) { - log.info("onNetconfSessionEnd ", notification); - } - - @Override - public void onNetconfCapabilityChange(NetconfCapabilityChange notification) { - log.info("onNetconfCapabilityChange ", notification); - } - - @Override - public void onNetconfConfigChange(NetconfConfigChange notification) { - log.info("onNetconfConfigChange (1) {}", notification); - StringBuffer sb = new StringBuffer(); - List<Edit> editList = notification.nonnullEdit(); - for (Edit edit : editList) { - if (sb.length() > 0) { - sb.append(", "); - } - sb.append(edit); - - EventlogBuilder eventlogBuilder = new EventlogBuilder(); - - InstanceIdentifier<?> target = edit.getTarget(); - if (target != null) { - eventlogBuilder.setObjectId(target.toString()); - log.info("TARGET: {} {} {}", target.getClass(), target.getTargetType()); - for (PathArgument pa : target.getPathArguments()) { - log.info("PathArgument {}", pa); - } - } - eventlogBuilder.setNodeId(netconfAccessor.getNodeId().getValue()); - eventlogBuilder.setNewValue(String.valueOf(edit.getOperation())); - databaseService.writeEventLog(eventlogBuilder.build()); - } - log.info("onNetconfConfigChange (2) {}", sb); - } - -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanFaultNotificationListener.java b/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanFaultNotificationListener.java deleted file mode 100644 index a0fe6692c..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanFaultNotificationListener.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - ******************************************************************************/ -package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl; - -import org.opendaylight.yang.gen.v1.urn.o.ran.fm._1._0.rev190204.AlarmNotif; -import org.opendaylight.yang.gen.v1.urn.o.ran.fm._1._0.rev190204.ORanFmListener; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author herbert - * - */ -public class ORanFaultNotificationListener implements ORanFmListener { - - private static final Logger log = LoggerFactory.getLogger(ORanFaultNotificationListener.class); - - @Override - public void onAlarmNotif(AlarmNotif notification) { - - log.info("onAlarmNotif {}", notification); - } - -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanNetworkElement.java b/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanNetworkElement.java deleted file mode 100644 index f4cb8024d..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanNetworkElement.java +++ /dev/null @@ -1,135 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - ******************************************************************************/ -package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl; - -import java.util.List; -import java.util.Optional; -import org.eclipse.jdt.annotation.NonNull; -import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider; -import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement; -import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElementService; -import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor; -import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.hardware.rev180313.Hardware; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.hardware.rev180313.hardware.Component; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementDeviceType; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; -import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.binding.NotificationListener; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - */ -public class ORanNetworkElement implements NetworkElement { - - private static final Logger log = LoggerFactory.getLogger(ORanNetworkElement.class); - - private final INetconfAcessor netconfAccessor; - - private final DataProvider databaseService; - - private final ORanToInternalDataModel oRanMapper; - - private ListenerRegistration<NotificationListener> oRanListenerRegistrationResult; - private @NonNull final ORanChangeNotificationListener oRanListener; - private ListenerRegistration<NotificationListener> oRanFaultListenerRegistrationResult; - private @NonNull final ORanFaultNotificationListener oRanFaultListener; - - ORanNetworkElement(INetconfAcessor netconfAccess, DataProvider databaseService) { - log.info("Create {}",ORanNetworkElement.class.getSimpleName()); - this.netconfAccessor = netconfAccess; - this.databaseService = databaseService; - - this.oRanListenerRegistrationResult = null; - this.oRanListener = new ORanChangeNotificationListener(netconfAccessor, databaseService); - - this.oRanFaultListenerRegistrationResult = null; - this.oRanFaultListener = new ORanFaultNotificationListener(); - - this.oRanMapper = new ORanToInternalDataModel(); - - } - - public void initialReadFromNetworkElement() { - Hardware hardware = readHardware(netconfAccessor); - if (hardware != null) { - List<Component> componentList = hardware.getComponent(); - if (componentList != null) { - for (Component component : componentList) { - databaseService.writeInventory( oRanMapper.getInternalEquipment(netconfAccessor.getNodeId(), component)); - } - } - } - } - - @Override - public NetworkElementDeviceType getDeviceType() { - return NetworkElementDeviceType.ORAN; - } - - private Hardware readHardware(INetconfAcessor accessData) { - - final Class<Hardware> clazzPac = Hardware.class; - - log.info("DBRead Get equipment for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(), - accessData.getNodeId().getValue()); - - InstanceIdentifier<Hardware> hardwareIID = - InstanceIdentifier.builder(clazzPac).build(); - - Hardware res = accessData.getTransactionUtils().readData(accessData.getDataBroker(), LogicalDatastoreType.OPERATIONAL, - hardwareIID); - - return res; - } - - @Override - public void register() { - this.oRanListenerRegistrationResult = netconfAccessor.doRegisterNotificationListener(oRanListener); - this.oRanFaultListenerRegistrationResult = netconfAccessor.doRegisterNotificationListener(oRanFaultListener); - - } - - @Override - public void deregister() { - if (oRanListenerRegistrationResult != null) { - this.oRanListenerRegistrationResult.close(); - } - if (oRanFaultListenerRegistrationResult != null) { - this.oRanFaultListenerRegistrationResult.close(); - }; - } - - - @Override - public NodeId getNodeId() { - return netconfAccessor.getNodeId(); - } - - @Override - public <L extends NetworkElementService> Optional<L> getService(Class<L> clazz) { - return Optional.empty(); - } - - @Override - public void warmstart() { - } - -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanNetworkElementFactory.java b/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanNetworkElementFactory.java deleted file mode 100644 index b1914cc16..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanNetworkElementFactory.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - ******************************************************************************/ - -package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl; - -import java.util.Optional; -import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceManagerServiceProvider; -import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement; -import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElementFactory; -import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor; -import org.opendaylight.yang.gen.v1.urn.o.ran.hardware._1._0.rev190328.ORANHWCOMPONENT; -import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.network.topology.simulator.rev191025.SimulatorStatus; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ORanNetworkElementFactory implements NetworkElementFactory { - - private static final Logger log = LoggerFactory.getLogger(ORanNetworkElementFactory.class); - - @Override - public Optional<NetworkElement> create(INetconfAcessor acessor, DeviceManagerServiceProvider serviceProvider) { - if (acessor.getCapabilites().isSupportingNamespace(ORANHWCOMPONENT.QNAME)) { - log.info("Create device {} ",ORanNetworkElement.class.getName()); - return Optional.of(new ORanNetworkElement(acessor, serviceProvider.getDataProvider())); - } else if (acessor.getCapabilites().isSupportingNamespace(SimulatorStatus.QNAME)) { - log.info("Create device {} ",NtsNetworkElement.class.getName()); - return Optional.of(new NtsNetworkElement(acessor, serviceProvider.getDataProvider())); - } else { - return Optional.empty(); - } - } -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanToInternalDataModel.java b/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanToInternalDataModel.java deleted file mode 100644 index a2997c0e5..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanToInternalDataModel.java +++ /dev/null @@ -1,70 +0,0 @@ -/** - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved. - * ================================================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END========================================================================== - */ -package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl; - -import java.util.ArrayList; -import java.util.List; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.hardware.rev180313.hardware.Component; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Inventory; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.InventoryBuilder; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; - -/** - * @author herbert - * - */ -public class ORanToInternalDataModel { - - - public Inventory getInternalEquipment(NodeId nodeId, Component component) { - - InventoryBuilder inventoryBuilder = new InventoryBuilder(); - - // General - inventoryBuilder.setNodeId(nodeId.getValue()); - inventoryBuilder.setParentUuid(component.getParent()); - inventoryBuilder.setTreeLevel(new Long(component.getParentRelPos())); - - inventoryBuilder.setUuid(component.getUuid().getValue()); - // -- String list with ids of holders - List<String> containerHolderKeyList = new ArrayList<>(); - List<String> containerHolderList = component.getContainsChild(); - if (containerHolderList != null) { - for (String containerHolder : containerHolderList) { - containerHolderKeyList.add(containerHolder); - } - } - inventoryBuilder.setContainedHolder(containerHolderKeyList); - // -- Manufacturer related things - inventoryBuilder.setManufacturerName(component.getName()); - - // Equipment type - inventoryBuilder.setDescription(component.getDescription()); - inventoryBuilder.setModelIdentifier(component.getModelName()); - inventoryBuilder.setPartTypeId(component.getXmlClass().getName()); - inventoryBuilder.setTypeName(component.getName()); - inventoryBuilder.setVersion(component.getHardwareRev()); - - // Equipment instance - inventoryBuilder.setDate(component.getMfgDate().getValue()); - inventoryBuilder.setSerial(component.getSerialNum()); - - return inventoryBuilder.build(); - } - -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml b/sdnr/wt/devicemanager-oran/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml deleted file mode 100644 index 572cb185e..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -============LICENSE_START======================================================= -ONAP : ccsdk feature sdnr wt devicemanager - ================================================================================ -Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. -All rights reserved. -================================================================================ -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============LICENSE_END========================================================= - --> - -<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" - xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0" odl:use-default-for-reference-types="true"> - - <reference id="netconfNetworkElementService" - availability="mandatory" activation="eager" - interface="org.onap.ccsdk.features.sdnr.wt.devicemanager.NetconfNetworkElementService" /> - - <bean id="provider" - class="org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl.DeviceManagerORanImpl" - init-method="init" destroy-method="close"> - <property name="netconfNetworkElementService" ref="netconfNetworkElementService" /> - </bean> -</blueprint> diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/resources/version.properties b/sdnr/wt/devicemanager-oran/provider/src/main/resources/version.properties deleted file mode 100644 index 80373399e..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/resources/version.properties +++ /dev/null @@ -1,3 +0,0 @@ -# Proberties filled in by maven during build process -version = ${project.version} -build = ${buildtime} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/yang/iana-hardware.yang b/sdnr/wt/devicemanager-oran/provider/src/main/yang/iana-hardware.yang deleted file mode 100755 index 52bcaf3a0..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/yang/iana-hardware.yang +++ /dev/null @@ -1,180 +0,0 @@ -module iana-hardware { -yang-version 1.1; -namespace "urn:ietf:params:xml:ns:yang:iana-hardware"; -prefix ianahw; - -organization "IANA"; -contact - " Internet Assigned Numbers Authority - Postal: ICANN - 12025 Waterfront Drive, Suite 300 - Los Angeles, CA 90094-2536 - United States of America - Tel: +1 310 301 5800 - E-Mail: iana@iana.org>"; - -description - "IANA-defined identities for hardware class. - The latest revision of this YANG module can be obtained from - the IANA website. - Requests for new values should be made to IANA via - email (iana@iana.org). - Copyright (c) 2018 IETF Trust and the persons identified as - authors of the code. All rights reserved. - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - The initial version of this YANG module is part of RFC 8348; - see the RFC itself for full legal notices."; -reference - "https://www.iana.org/assignments/yang-parameters"; - -revision 2018-03-13 { - description - "Initial revision."; - reference - "RFC 8348: A YANG Data Model for Hardware Management"; -} - -/* - * Identities - */ - -identity hardware-class { - description - "This identity is the base for all hardware class - identifiers."; -} - -identity unknown { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is unknown - to the server."; -} - -identity chassis { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is an - overall container for networking equipment. Any class of - physical component, except a stack, may be contained within a - chassis; a chassis may only be contained within a stack."; -} - -identity backplane { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is some sort - of device for aggregating and forwarding networking traffic, - such as a shared backplane in a modular ethernet switch. Note - that an implementation may model a backplane as a single - physical component, which is actually implemented as multiple - discrete physical components (within a chassis or stack)."; -} - -identity container { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is capable - of containing one or more removable physical entities, - possibly of different types. For example, each (empty or - full) slot in a chassis will be modeled as a container. Note - that all removable physical components should be modeled - within a container component, such as field-replaceable - modules, fans, or power supplies. Note that all known - containers should be modeled by the agent, including empty - containers."; -} - -identity power-supply { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is a - power-supplying component."; -} - -identity fan { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is a fan or - other heat-reduction component."; -} - -identity sensor { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is some sort - of sensor, such as a temperature sensor within a router - chassis."; -} - -identity module { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is some sort - of self-contained sub-system. If a module component is - removable, then it should be modeled within a container - component; otherwise, it should be modeled directly within - another physical component (e.g., a chassis or another - module)."; -} - -identity port { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is some sort - of networking port capable of receiving and/or transmitting - networking traffic."; -} - -identity stack { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is some sort - of super-container (possibly virtual) intended to group - together multiple chassis entities. A stack may be realized - by a virtual cable, a real interconnect cable attached to - multiple chassis, or multiple interconnect cables. A stack - should not be modeled within any other physical components, - but a stack may be contained within another stack. Only - chassis components should be contained within a stack."; -} - -identity cpu { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is some sort - of central processing unit."; -} - -identity energy-object { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is some sort - of energy object, i.e., it is a piece of equipment that is - part of or attached to a communications network that is - monitored, it is controlled, or it aids in the management of - another device for Energy Management."; -} - -identity battery { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is some sort - of battery."; -} - -identity storage-drive { - base ianahw:hardware-class; - description - "This identity is applicable if the hardware class is some sort - of component with data storage capability as its main - functionality, e.g., hard disk drive (HDD), solid-state device - (SSD), solid-state hybrid drive (SSHD), object storage device - (OSD), or other."; -} -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/yang/ietf-hardware.yang b/sdnr/wt/devicemanager-oran/provider/src/main/yang/ietf-hardware.yang deleted file mode 100755 index f444e26ee..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/yang/ietf-hardware.yang +++ /dev/null @@ -1,1141 +0,0 @@ -module ietf-hardware { -yang-version 1.1; -namespace "urn:ietf:params:xml:ns:yang:ietf-hardware"; -prefix hw; - -import ietf-inet-types { - prefix inet; -} -import ietf-yang-types { - prefix yang; -} -import iana-hardware { - prefix ianahw; -} - -organization - "IETF NETMOD (Network Modeling) Working Group"; - -contact - "WG Web: <https://datatracker.ietf.org/wg/netmod/> - WG List: <mailto:netmod@ietf.org> - Editor: Andy Bierman - <mailto:andy@yumaworks.com> - Editor: Martin Bjorklund - <mailto:mbj@tail-f.com> - Editor: Jie Dong - <mailto:jie.dong@huawei.com> - Editor: Dan Romascanu - <mailto:dromasca@gmail.com>"; - -description - "This module contains a collection of YANG definitions for - managing hardware. - This data model is designed for the Network Management Datastore - Architecture (NMDA) defined in RFC 8342. - Copyright (c) 2018 IETF Trust and the persons identified as - authors of the code. All rights reserved. - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - This version of this YANG module is part of RFC 8348; see - the RFC itself for full legal notices."; - -revision 2018-03-13 { - description - "Initial revision."; - reference - "RFC 8348: A YANG Data Model for Hardware Management"; -} - -/* - * Features - */ - -feature entity-mib { - description - "This feature indicates that the device implements - the ENTITY-MIB."; - reference - "RFC 6933: Entity MIB (Version 4)"; -} - -feature hardware-state { - description - "Indicates that ENTITY-STATE-MIB objects are supported"; - reference - "RFC 4268: Entity State MIB"; -} - -feature hardware-sensor { - description - "Indicates that ENTITY-SENSOR-MIB objects are supported"; - reference - "RFC 3433: Entity Sensor Management Information Base"; -} - -/* - * Typedefs - */ - -typedef admin-state { - type enumeration { - enum unknown { - value 1; - description - "The resource is unable to report administrative state."; - } - enum locked { - value 2; - description - "The resource is administratively prohibited from use."; - } - enum shutting-down { - value 3; - description - "The resource usage is administratively limited to current - instances of use."; - } - enum unlocked { - value 4; - description - "The resource is not administratively prohibited from - use."; - } - } - description - "Represents the various possible administrative states."; - reference - "RFC 4268: Entity State MIB - EntityAdminState"; -} - -typedef oper-state { - type enumeration { - enum unknown { - value 1; - description - "The resource is unable to report its operational state."; - } - enum disabled { - value 2; - description - "The resource is totally inoperable."; - } - enum enabled { - value 3; - - description - "The resource is partially or fully operable."; - } - enum testing { - value 4; - description - "The resource is currently being tested and cannot - therefore report whether or not it is operational."; - } - } - description - "Represents the possible values of operational states."; - reference - "RFC 4268: Entity State MIB - EntityOperState"; -} - -typedef usage-state { - type enumeration { - enum unknown { - value 1; - description - "The resource is unable to report usage state."; - } - enum idle { - value 2; - description - "The resource is servicing no users."; - } - enum active { - value 3; - description - "The resource is currently in use, and it has sufficient - spare capacity to provide for additional users."; - } - enum busy { - value 4; - description - "The resource is currently in use, but it currently has no - spare capacity to provide for additional users."; - } - } - description - "Represents the possible values of usage states."; - reference - "RFC 4268: Entity State MIB - EntityUsageState"; -} - -typedef alarm-state { - type bits { - bit unknown { - position 0; - description - "The resource is unable to report alarm state."; - } - bit under-repair { - position 1; - description - "The resource is currently being repaired, which, depending - on the implementation, may make the other values in this - bit string not meaningful."; - } - bit critical { - position 2; - description - "One or more critical alarms are active against the - resource."; - } - bit major { - position 3; - description - "One or more major alarms are active against the - resource."; - } - bit minor { - position 4; - description - "One or more minor alarms are active against the - resource."; - } - bit warning { - position 5; - description - "One or more warning alarms are active against the - resource."; - } - bit indeterminate { - position 6; - description - "One or more alarms of whose perceived severity cannot be - determined are active against this resource."; - } - } - description - "Represents the possible values of alarm states. An alarm is a - persistent indication of an error or warning condition. - When no bits of this attribute are set, then no active alarms - are known against this component and it is not under repair."; - reference - "RFC 4268: Entity State MIB - EntityAlarmStatus"; -} - -typedef standby-state { - type enumeration { - enum unknown { - value 1; - description - "The resource is unable to report standby state."; - } - enum hot-standby { - value 2; - description - "The resource is not providing service, but it will be - immediately able to take over the role of the resource to - be backed up, without the need for initialization - activity, and will contain the same information as the - resource to be backed up."; - } - enum cold-standby { - value 3; - description - "The resource is to back up another resource, but it will - not be immediately able to take over the role of a - resource to be backed up and will require some - initialization activity."; - } - enum providing-service { - value 4; - description - "The resource is providing service."; - } - } - description - "Represents the possible values of standby states."; - reference - "RFC 4268: Entity State MIB - EntityStandbyStatus"; -} - -typedef sensor-value-type { - type enumeration { - enum other { - value 1; - description - "A measure other than those listed below."; - } - enum unknown { - value 2; - description - "An unknown measurement or arbitrary, relative numbers"; - } - enum volts-AC { - value 3; - description - "A measure of electric potential (alternating current)."; - } - enum volts-DC { - value 4; - description - "A measure of electric potential (direct current)."; - } - enum amperes { - value 5; - description - "A measure of electric current."; - } - enum watts { - value 6; - description - "A measure of power."; - } - enum hertz { - value 7; - description - "A measure of frequency."; - } - enum celsius { - value 8; - description - "A measure of temperature."; - } - enum percent-RH { - value 9; - description - "A measure of percent relative humidity."; - } - enum rpm { - value 10; - description - "A measure of shaft revolutions per minute."; - } - enum cmm { - value 11; - description - "A measure of cubic meters per minute (airflow)."; - } - enum truth-value { - value 12; - description - "Value is one of 1 (true) or 2 (false)"; - } - } - description - "A node using this data type represents the sensor measurement - data type associated with a physical sensor value. The actual - data units are determined by examining a node of this type - together with the associated sensor-value-scale node. - A node of this type SHOULD be defined together with nodes of - type sensor-value-scale and type sensor-value-precision. - These three types are used to identify the semantics of a node - of type sensor-value."; - reference - "RFC 3433: Entity Sensor Management Information Base - - EntitySensorDataType"; -} - -typedef sensor-value-scale { - type enumeration { - enum yocto { - value 1; - description - "Data scaling factor of 10^-24."; - } - enum zepto { - value 2; - description - "Data scaling factor of 10^-21."; - } - enum atto { - value 3; - description - "Data scaling factor of 10^-18."; - } - enum femto { - value 4; - description - "Data scaling factor of 10^-15."; - } - enum pico { - value 5; - description - "Data scaling factor of 10^-12."; - } - enum nano { - value 6; - description - "Data scaling factor of 10^-9."; - } - enum micro { - value 7; - description - "Data scaling factor of 10^-6."; - } - enum milli { - value 8; - description - "Data scaling factor of 10^-3."; - } - enum units { - value 9; - description - "Data scaling factor of 10^0."; - } - enum kilo { - value 10; - description - "Data scaling factor of 10^3."; - } - enum mega { - value 11; - description - "Data scaling factor of 10^6."; - } - enum giga { - value 12; - description - "Data scaling factor of 10^9."; - } - enum tera { - value 13; - description - "Data scaling factor of 10^12."; - } - enum peta { - value 14; - description - "Data scaling factor of 10^15."; - } - enum exa { - value 15; - description - "Data scaling factor of 10^18."; - } - enum zetta { - value 16; - description - "Data scaling factor of 10^21."; - } - enum yotta { - value 17; - description - "Data scaling factor of 10^24."; - } - } - description - "A node using this data type represents a data scaling factor, - represented with an International System of Units (SI) prefix. - The actual data units are determined by examining a node of - this type together with the associated sensor-value-type. - A node of this type SHOULD be defined together with nodes of - type sensor-value-type and type sensor-value-precision. - Together, associated nodes of these three types are used to - identify the semantics of a node of type sensor-value."; - reference - "RFC 3433: Entity Sensor Management Information Base - - EntitySensorDataScale"; -} - -typedef sensor-value-precision { - type int8 { - range "-8 .. 9"; - } - description - "A node using this data type represents a sensor value - precision range. - A node of this type SHOULD be defined together with nodes of - type sensor-value-type and type sensor-value-scale. Together, - associated nodes of these three types are used to identify the - semantics of a node of type sensor-value. - If a node of this type contains a value in the range 1 to 9, - it represents the number of decimal places in the fractional - part of an associated sensor-value fixed-point number. - If a node of this type contains a value in the range -8 to -1, - it represents the number of accurate digits in the associated - sensor-value fixed-point number. - The value zero indicates the associated sensor-value node is - not a fixed-point number. - Server implementers must choose a value for the associated - sensor-value-precision node so that the precision and accuracy - of the associated sensor-value node is correctly indicated. - For example, a component representing a temperature sensor - that can measure 0 to 100 degrees C in 0.1 degree - increments, +/- 0.05 degrees, would have a - sensor-value-precision value of '1', a sensor-value-scale - value of 'units', and a sensor-value ranging from '0' to - '1000'. The sensor-value would be interpreted as - 'degrees C * 10'."; - reference - "RFC 3433: Entity Sensor Management Information Base - - EntitySensorPrecision"; -} - -typedef sensor-value { - type int32 { - range "-1000000000 .. 1000000000"; - } - description - "A node using this data type represents a sensor value. - A node of this type SHOULD be defined together with nodes of - type sensor-value-type, type sensor-value-scale, and - type sensor-value-precision. Together, associated nodes of - those three types are used to identify the semantics of a node - of this data type. - The semantics of a node using this data type are determined by - the value of the associated sensor-value-type node. - If the associated sensor-value-type node is equal to 'voltsAC', - 'voltsDC', 'amperes', 'watts', 'hertz', 'celsius', or 'cmm', - then a node of this type MUST contain a fixed-point number - ranging from -999,999,999 to +999,999,999. The value - -1000000000 indicates an underflow error. The value - +1000000000 indicates an overflow error. The - sensor-value-precision indicates how many fractional digits - are represented in the associated sensor-value node. - If the associated sensor-value-type node is equal to - 'percentRH', then a node of this type MUST contain a number - ranging from 0 to 100. - If the associated sensor-value-type node is equal to 'rpm', - then a node of this type MUST contain a number ranging from - -999,999,999 to +999,999,999. - If the associated sensor-value-type node is equal to - 'truth-value', then a node of this type MUST contain either the - value 1 (true) or the value 2 (false). - If the associated sensor-value-type node is equal to 'other' or - 'unknown', then a node of this type MUST contain a number - ranging from -1000000000 to 1000000000."; - reference - "RFC 3433: Entity Sensor Management Information Base - - EntitySensorValue"; -} - -typedef sensor-status { - type enumeration { - enum ok { - value 1; - description - "Indicates that the server can obtain the sensor value."; - } - enum unavailable { - value 2; - description - "Indicates that the server presently cannot obtain the - sensor value."; - } - enum nonoperational { - value 3; - description - "Indicates that the server believes the sensor is broken. - The sensor could have a hard failure (disconnected wire) - or a soft failure such as out-of-range, jittery, or wildly - fluctuating readings."; - } - } - description - "A node using this data type represents the operational status - of a physical sensor."; - reference - "RFC 3433: Entity Sensor Management Information Base - - EntitySensorStatus"; -} - -/* - * Data nodes - */ - -container hardware { - description - "Data nodes representing components. - If the server supports configuration of hardware components, - then this data model is instantiated in the configuration - datastores supported by the server. The leaf-list 'datastore' - for the module 'ietf-hardware' in the YANG library provides - this information."; - - leaf last-change { - type yang:date-and-time; - config false; - description - "The time the '/hardware/component' list changed in the - operational state."; - } - - list component { - key name; - description - "List of components. - When the server detects a new hardware component, it - initializes a list entry in the operational state. - If the server does not support configuration of hardware - components, list entries in the operational state are - initialized with values for all nodes as detected by the - implementation. - Otherwise, this procedure is followed: - 1. If there is an entry in the '/hardware/component' list - in the intended configuration with values for the nodes - 'class', 'parent', and 'parent-rel-pos' that are equal - to the detected values, then the list entry in the - operational state is initialized with the configured - values, including the 'name'. - 2. Otherwise (i.e., there is no matching configuration - entry), the list entry in the operational state is - initialized with values for all nodes as detected by - the implementation. - If the '/hardware/component' list in the intended - configuration is modified, then the system MUST behave as if - it re-initializes itself and follow the procedure in (1)."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalEntry"; - - leaf name { - type string; - description - "The name assigned to this component. - This name is not required to be the same as - entPhysicalName."; - } - - leaf class { - type identityref { - base ianahw:hardware-class; - } - mandatory true; - description - "An indication of the general hardware type of the - component."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalClass"; - } - - leaf physical-index { - if-feature entity-mib; - type int32 { - range "1..2147483647"; - } - config false; - description - "The entPhysicalIndex for the entPhysicalEntry represented - by this list entry."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalIndex"; - } - - leaf description { - type string; - config false; - description - "A textual description of the component. This node should - contain a string that identifies the manufacturer's name - for the component and should be set to a distinct value - for each version or model of the component."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalDescr"; - } - - leaf parent { - type leafref { - path "../../component/name"; - require-instance false; - } - description - "The name of the component that physically contains this - component. - If this leaf is not instantiated, it indicates that this - component is not contained in any other component. - In the event that a physical component is contained by - more than one physical component (e.g., double-wide - modules), this node contains the name of one of these - components. An implementation MUST use the same name - every time this node is instantiated."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalContainedIn"; - } - - leaf parent-rel-pos { - type int32 { - range "0 .. 2147483647"; - } - description - "An indication of the relative position of this child - component among all its sibling components. Sibling - components are defined as components that: - o share the same value of the 'parent' node and - o share a common base identity for the 'class' node. - Note that the last rule gives implementations flexibility - in how components are numbered. For example, some - implementations might have a single number series for all - components derived from 'ianahw:port', while some others - might have different number series for different - components with identities derived from 'ianahw:port' (for - example, one for registered jack 45 (RJ45) and one for - small form-factor pluggable (SFP))."; - - reference - "RFC 6933: Entity MIB (Version 4) - - entPhysicalParentRelPos"; - } - - leaf-list contains-child { - type leafref { - path "../../component/name"; - } - config false; - description - "The name of the contained component."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalChildIndex"; - } - - leaf hardware-rev { - type string; - config false; - description - "The vendor-specific hardware revision string for the - component. The preferred value is the hardware revision - identifier actually printed on the component itself (if - present)."; - reference - "RFC 6933: Entity MIB (Version 4) - - entPhysicalHardwareRev"; - } - - leaf firmware-rev { - type string; - config false; - description - "The vendor-specific firmware revision string for the - component."; - reference - "RFC 6933: Entity MIB (Version 4) - - entPhysicalFirmwareRev"; - } - - leaf software-rev { - type string; - config false; - - description - "The vendor-specific software revision string for the - component."; - reference - "RFC 6933: Entity MIB (Version 4) - - entPhysicalSoftwareRev"; - } - - leaf serial-num { - type string; - config false; - description - "The vendor-specific serial number string for the - component. The preferred value is the serial number - string actually printed on the component itself (if - present)."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalSerialNum"; - } - - leaf mfg-name { - type string; - config false; - description - "The name of the manufacturer of this physical component. - The preferred value is the manufacturer name string - actually printed on the component itself (if present). - Note that comparisons between instances of the - 'model-name', 'firmware-rev', 'software-rev', and - 'serial-num' nodes are only meaningful amongst components - with the same value of 'mfg-name'. - If the manufacturer name string associated with the - physical component is unknown to the server, then this - node is not instantiated."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalMfgName"; - } - - leaf model-name { - type string; - config false; - description - "The vendor-specific model name identifier string - associated with this physical component. The preferred - value is the customer-visible part number, which may be - printed on the component itself. - If the model name string associated with the physical - component is unknown to the server, then this node is not - instantiated."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalModelName"; - } - - leaf alias { - type string; - description - "An 'alias' name for the component, as specified by a - network manager, that provides a non-volatile 'handle' for - the component. - If no configured value exists, the server MAY set the - value of this node to a locally unique value in the - operational state. - A server implementation MAY map this leaf to the - entPhysicalAlias MIB object. Such an implementation needs - to use some mechanism to handle the differences in size - and characters allowed between this leaf and - entPhysicalAlias. The definition of such a mechanism is - outside the scope of this document."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalAlias"; - } - - leaf asset-id { - type string; - description - "This node is a user-assigned asset tracking identifier for - the component. - A server implementation MAY map this leaf to the - entPhysicalAssetID MIB object. Such an implementation - needs to use some mechanism to handle the differences in - size and characters allowed between this leaf and - entPhysicalAssetID. The definition of such a mechanism is - outside the scope of this document."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalAssetID"; - } - - leaf is-fru { - type boolean; - config false; - - description - "This node indicates whether or not this component is - considered a 'field-replaceable unit' by the vendor. If - this node contains the value 'true', then this component - identifies a field-replaceable unit. For all components - that are permanently contained within a field-replaceable - unit, the value 'false' should be returned for this - node."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalIsFRU"; - } - - leaf mfg-date { - type yang:date-and-time; - config false; - description - "The date of manufacturing of the managed component."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalMfgDate"; - } - - leaf-list uri { - type inet:uri; - description - "This node contains identification information about the - component."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalUris"; - } - - leaf uuid { - type yang:uuid; - config false; - description - "A Universally Unique Identifier of the component."; - reference - "RFC 6933: Entity MIB (Version 4) - entPhysicalUUID"; - } - - container state { - if-feature hardware-state; - description - "State-related nodes"; - reference - "RFC 4268: Entity State MIB"; - - leaf state-last-changed { - type yang:date-and-time; - config false; - description - "The date and time when the value of any of the - admin-state, oper-state, usage-state, alarm-state, or - standby-state changed for this component. - If there has been no change since the last - re-initialization of the local system, this node - contains the date and time of local system - initialization. If there has been no change since the - component was added to the local system, this node - contains the date and time of the insertion."; - reference - "RFC 4268: Entity State MIB - entStateLastChanged"; - } - - leaf admin-state { - type admin-state; - description - "The administrative state for this component. - This node refers to a component's administrative - permission to service both other components within its - containment hierarchy as well other users of its - services defined by means outside the scope of this - module. - Some components exhibit only a subset of the remaining - administrative state values. Some components cannot be - locked; hence, this node exhibits only the 'unlocked' - state. Other components cannot be shut down gracefully; - hence, this node does not exhibit the 'shutting-down' - state."; - reference - "RFC 4268: Entity State MIB - entStateAdmin"; - } - - leaf oper-state { - type oper-state; - config false; - description - "The operational state for this component. - Note that this node does not follow the administrative - state. An administrative state of 'down' does not - predict an operational state of 'disabled'. - Note that some implementations may not be able to - accurately report oper-state while the admin-state node - has a value other than 'unlocked'. In these cases, this - node MUST have a value of 'unknown'."; - reference - "RFC 4268: Entity State MIB - entStateOper"; - } - - leaf usage-state { - type usage-state; - config false; - description - "The usage state for this component. - This node refers to a component's ability to service - more components in a containment hierarchy. - Some components will exhibit only a subset of the usage - state values. Components that are unable to ever - service any components within a containment hierarchy - will always have a usage state of 'busy'. In some - cases, a component will be able to support only one - other component within its containment hierarchy and - will therefore only exhibit values of 'idle' and - 'busy'."; - reference - "RFC 4268: Entity State MIB - entStateUsage"; - } - - leaf alarm-state { - type alarm-state; - config false; - description - "The alarm state for this component. It does not - include the alarms raised on child components within its - containment hierarchy."; - reference - "RFC 4268: Entity State MIB - entStateAlarm"; - } - - leaf standby-state { - type standby-state; - config false; - description - "The standby state for this component. - Some components will exhibit only a subset of the - remaining standby state values. If this component - cannot operate in a standby role, the value of this node - will always be 'providing-service'."; - reference - "RFC 4268: Entity State MIB - entStateStandby"; - } - } - - container sensor-data { - when 'derived-from-or-self(../class, - "ianahw:sensor")' { - description - "Sensor data nodes present for any component of type - 'sensor'"; - } - if-feature hardware-sensor; - config false; - - description - "Sensor-related nodes."; - reference - "RFC 3433: Entity Sensor Management Information Base"; - - leaf value { - type sensor-value; - description - "The most recent measurement obtained by the server - for this sensor. - A client that periodically fetches this node should also - fetch the nodes 'value-type', 'value-scale', and - 'value-precision', since they may change when the value - is changed."; - reference - "RFC 3433: Entity Sensor Management Information Base - - entPhySensorValue"; - } - - leaf value-type { - type sensor-value-type; - description - "The type of data units associated with the - sensor value"; - reference - "RFC 3433: Entity Sensor Management Information Base - - entPhySensorType"; - } - leaf value-scale { - type sensor-value-scale; - description - "The (power of 10) scaling factor associated - with the sensor value"; - reference - "RFC 3433: Entity Sensor Management Information Base - - entPhySensorScale"; - } - - leaf value-precision { - type sensor-value-precision; - description - "The number of decimal places of precision - associated with the sensor value"; - reference - "RFC 3433: Entity Sensor Management Information Base - - entPhySensorPrecision"; - } - - leaf oper-status { - type sensor-status; - description - "The operational status of the sensor."; - reference - "RFC 3433: Entity Sensor Management Information Base - - entPhySensorOperStatus"; - } - - leaf units-display { - type string; - description - "A textual description of the data units that should be - used in the display of the sensor value."; - reference - "RFC 3433: Entity Sensor Management Information Base - - entPhySensorUnitsDisplay"; - } - - leaf value-timestamp { - type yang:date-and-time; - description - "The time the status and/or value of this sensor was last - obtained by the server."; - reference - "RFC 3433: Entity Sensor Management Information Base - - entPhySensorValueTimeStamp"; - } - leaf value-update-rate { - type uint32; - units "milliseconds"; - description - "An indication of the frequency that the server updates - the associated 'value' node, represented in - milliseconds. The value zero indicates: - - the sensor value is updated on demand (e.g., - when polled by the server for a get-request), - - the sensor value is updated when the sensor - value changes (event-driven), or - - the server does not know the update rate."; - reference - "RFC 3433: Entity Sensor Management Information Base - - entPhySensorValueUpdateRate"; - } - } - } -} - -/* - * Notifications - */ - -notification hardware-state-change { - description - "A hardware-state-change notification is generated when the - value of /hardware/last-change changes in the operational - state."; - reference - "RFC 6933: Entity MIB (Version 4) - entConfigChange"; -} - -notification hardware-state-oper-enabled { - if-feature hardware-state; - description - "A hardware-state-oper-enabled notification signifies that a - component has transitioned into the 'enabled' state."; - - leaf name { - type leafref { - path "/hardware/component/name"; - } - - description - "The name of the component that has transitioned into the - 'enabled' state."; - } - leaf admin-state { - type leafref { - path "/hardware/component/state/admin-state"; - } - description - "The administrative state for the component."; - } - leaf alarm-state { - type leafref { - path "/hardware/component/state/alarm-state"; - } - description - "The alarm state for the component."; - } - reference - "RFC 4268: Entity State MIB - entStateOperEnabled"; -} - -notification hardware-state-oper-disabled { - if-feature hardware-state; - description - "A hardware-state-oper-disabled notification signifies that a - component has transitioned into the 'disabled' state."; - - leaf name { - type leafref { - path "/hardware/component/name"; - } - description - "The name of the component that has transitioned into the - 'disabled' state."; - } - leaf admin-state { - type leafref { - path "/hardware/component/state/admin-state"; - } - description - "The administrative state for the component."; - } - leaf alarm-state { - type leafref { - path "/hardware/component/state/alarm-state"; - } - - description - "The alarm state for the component."; - } - reference - "RFC 4268: Entity State MIB - entStateOperDisabled"; -} - -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/yang/ietf-interfaces.yang b/sdnr/wt/devicemanager-oran/provider/src/main/yang/ietf-interfaces.yang deleted file mode 100644 index 8dae9d3e2..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/yang/ietf-interfaces.yang +++ /dev/null @@ -1,1073 +0,0 @@ -module ietf-interfaces { - yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces"; - prefix if; - - import ietf-yang-types { - prefix yang; - } - - organization - "IETF NETMOD (Network Modeling) Working Group"; - - contact - "WG Web: <https://datatracker.ietf.org/wg/netmod/> - WG List: <mailto:netmod@ietf.org> - Editor: Martin Bjorklund - <mailto:mbj@tail-f.com>"; - - description - "This module contains a collection of YANG definitions for - managing network interfaces. - Copyright (c) 2018 IETF Trust and the persons identified as - authors of the code. All rights reserved. - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - This version of this YANG module is part of RFC 8343; see - the RFC itself for full legal notices."; - - revision 2018-02-20 { - description - "Updated to support NMDA."; - reference - "RFC 8343: A YANG Data Model for Interface Management"; - } - - revision 2014-05-08 { - description - "Initial revision."; - reference - "RFC 7223: A YANG Data Model for Interface Management"; - } - - /* - * Typedefs - */ - - typedef interface-ref { - type leafref { - path "/if:interfaces/if:interface/if:name"; - } - description - "This type is used by data models that need to reference - interfaces."; - } - - /* - * Identities - */ - - identity interface-type { - description - "Base identity from which specific interface types are - derived."; - } - - /* - * Features - */ - - feature arbitrary-names { - description - "This feature indicates that the device allows user-controlled - interfaces to be named arbitrarily."; - } - feature pre-provisioning { - description - "This feature indicates that the device supports - pre-provisioning of interface configuration, i.e., it is - possible to configure an interface whose physical interface - hardware is not present on the device."; - } - feature if-mib { - description - "This feature indicates that the device implements - the IF-MIB."; - reference - "RFC 2863: The Interfaces Group MIB"; - } - - /* - * Data nodes - */ - - container interfaces { - description - "Interface parameters."; - - list interface { - key "name"; - - description - "The list of interfaces on the device. - The status of an interface is available in this list in the - operational state. If the configuration of a - system-controlled interface cannot be used by the system - (e.g., the interface hardware present does not match the - interface type), then the configuration is not applied to - the system-controlled interface shown in the operational - state. If the configuration of a user-controlled interface - cannot be used by the system, the configured interface is - not instantiated in the operational state. - System-controlled interfaces created by the system are - always present in this list in the operational state, - whether or not they are configured."; - - leaf name { - type string; - description - "The name of the interface. - A device MAY restrict the allowed values for this leaf, - possibly depending on the type of the interface. - For system-controlled interfaces, this leaf is the - device-specific name of the interface. - If a client tries to create configuration for a - system-controlled interface that is not present in the - operational state, the server MAY reject the request if - the implementation does not support pre-provisioning of - interfaces or if the name refers to an interface that can - never exist in the system. A Network Configuration - Protocol (NETCONF) server MUST reply with an rpc-error - with the error-tag 'invalid-value' in this case. - If the device supports pre-provisioning of interface - configuration, the 'pre-provisioning' feature is - advertised. - If the device allows arbitrarily named user-controlled - interfaces, the 'arbitrary-names' feature is advertised. - When a configured user-controlled interface is created by - the system, it is instantiated with the same name in the - operational state. - A server implementation MAY map this leaf to the ifName - MIB object. Such an implementation needs to use some - mechanism to handle the differences in size and characters - allowed between this leaf and ifName. The definition of - such a mechanism is outside the scope of this document."; - reference - "RFC 2863: The Interfaces Group MIB - ifName"; - } - - leaf description { - type string; - description - "A textual description of the interface. - A server implementation MAY map this leaf to the ifAlias - MIB object. Such an implementation needs to use some - mechanism to handle the differences in size and characters - allowed between this leaf and ifAlias. The definition of - such a mechanism is outside the scope of this document. - Since ifAlias is defined to be stored in non-volatile - storage, the MIB implementation MUST map ifAlias to the - value of 'description' in the persistently stored - configuration."; - reference - "RFC 2863: The Interfaces Group MIB - ifAlias"; - } - - leaf type { - type identityref { - base interface-type; - } - mandatory true; - description - "The type of the interface. - When an interface entry is created, a server MAY - initialize the type leaf with a valid value, e.g., if it - is possible to derive the type from the name of the - interface. - If a client tries to set the type of an interface to a - value that can never be used by the system, e.g., if the - type is not supported or if the type does not match the - name of the interface, the server MUST reject the request. - A NETCONF server MUST reply with an rpc-error with the - error-tag 'invalid-value' in this case."; - reference - "RFC 2863: The Interfaces Group MIB - ifType"; - } - - leaf enabled { - type boolean; - default "true"; - description - "This leaf contains the configured, desired state of the - interface. - Systems that implement the IF-MIB use the value of this - leaf in the intended configuration to set - IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry - has been initialized, as described in RFC 2863. - Changes in this leaf in the intended configuration are - reflected in ifAdminStatus."; - reference - "RFC 2863: The Interfaces Group MIB - ifAdminStatus"; - } - - leaf link-up-down-trap-enable { - if-feature if-mib; - type enumeration { - enum enabled { - value 1; - description - "The device will generate linkUp/linkDown SNMP - notifications for this interface."; - } - enum disabled { - value 2; - description - "The device will not generate linkUp/linkDown SNMP - notifications for this interface."; - } - } - description - "Controls whether linkUp/linkDown SNMP notifications - should be generated for this interface. - If this node is not configured, the value 'enabled' is - operationally used by the server for interfaces that do - not operate on top of any other interface (i.e., there are - no 'lower-layer-if' entries), and 'disabled' otherwise."; - reference - "RFC 2863: The Interfaces Group MIB - - ifLinkUpDownTrapEnable"; - } - - leaf admin-status { - if-feature if-mib; - type enumeration { - enum up { - value 1; - description - "Ready to pass packets."; - } - enum down { - value 2; - description - "Not ready to pass packets and not in some test mode."; - } - enum testing { - value 3; - description - "In some test mode."; - } - } - config false; - mandatory true; - description - "The desired state of the interface. - This leaf has the same read semantics as ifAdminStatus."; - reference - "RFC 2863: The Interfaces Group MIB - ifAdminStatus"; - } - - leaf oper-status { - type enumeration { - enum up { - value 1; - description - "Ready to pass packets."; - } - enum down { - value 2; - - description - "The interface does not pass any packets."; - } - enum testing { - value 3; - description - "In some test mode. No operational packets can - be passed."; - } - enum unknown { - value 4; - description - "Status cannot be determined for some reason."; - } - enum dormant { - value 5; - description - "Waiting for some external event."; - } - enum not-present { - value 6; - description - "Some component (typically hardware) is missing."; - } - enum lower-layer-down { - value 7; - description - "Down due to state of lower-layer interface(s)."; - } - } - config false; - mandatory true; - description - "The current operational state of the interface. - This leaf has the same semantics as ifOperStatus."; - reference - "RFC 2863: The Interfaces Group MIB - ifOperStatus"; - } - - leaf last-change { - type yang:date-and-time; - config false; - description - "The time the interface entered its current operational - state. If the current state was entered prior to the - last re-initialization of the local network management - subsystem, then this node is not present."; - reference - "RFC 2863: The Interfaces Group MIB - ifLastChange"; - } - - leaf if-index { - if-feature if-mib; - type int32 { - range "1..2147483647"; - } - config false; - mandatory true; - description - "The ifIndex value for the ifEntry represented by this - interface."; - reference - "RFC 2863: The Interfaces Group MIB - ifIndex"; - } - - leaf phys-address { - type yang:phys-address; - config false; - description - "The interface's address at its protocol sub-layer. For - example, for an 802.x interface, this object normally - contains a Media Access Control (MAC) address. The - interface's media-specific modules must define the bit - and byte ordering and the format of the value of this - object. For interfaces that do not have such an address - (e.g., a serial line), this node is not present."; - reference - "RFC 2863: The Interfaces Group MIB - ifPhysAddress"; - } - - leaf-list higher-layer-if { - type interface-ref; - config false; - description - "A list of references to interfaces layered on top of this - interface."; - reference - "RFC 2863: The Interfaces Group MIB - ifStackTable"; - } - - leaf-list lower-layer-if { - type interface-ref; - config false; - - description - "A list of references to interfaces layered underneath this - interface."; - reference - "RFC 2863: The Interfaces Group MIB - ifStackTable"; - } - - leaf speed { - type yang:gauge64; - units "bits/second"; - config false; - description - "An estimate of the interface's current bandwidth in bits - per second. For interfaces that do not vary in - bandwidth or for those where no accurate estimation can - be made, this node should contain the nominal bandwidth. - For interfaces that have no concept of bandwidth, this - node is not present."; - reference - "RFC 2863: The Interfaces Group MIB - - ifSpeed, ifHighSpeed"; - } - - container statistics { - config false; - description - "A collection of interface-related statistics objects."; - - leaf discontinuity-time { - type yang:date-and-time; - mandatory true; - description - "The time on the most recent occasion at which any one or - more of this interface's counters suffered a - discontinuity. If no such discontinuities have occurred - since the last re-initialization of the local management - subsystem, then this node contains the time the local - management subsystem re-initialized itself."; - } - - leaf in-octets { - type yang:counter64; - description - "The total number of octets received on the interface, - including framing characters. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifHCInOctets"; - } - - leaf in-unicast-pkts { - type yang:counter64; - description - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, that were not addressed to a - multicast or broadcast address at this sub-layer. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts"; - } - - leaf in-broadcast-pkts { - type yang:counter64; - description - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, that were addressed to a broadcast - address at this sub-layer. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - - ifHCInBroadcastPkts"; - } - - leaf in-multicast-pkts { - type yang:counter64; - description - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, that were addressed to a multicast - address at this sub-layer. For a MAC-layer protocol, - this includes both Group and Functional addresses. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - - ifHCInMulticastPkts"; - } - - leaf in-discards { - type yang:counter32; - description - "The number of inbound packets that were chosen to be - discarded even though no errors had been detected to - prevent their being deliverable to a higher-layer - protocol. One possible reason for discarding such a - packet could be to free up buffer space. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifInDiscards"; - } - - leaf in-errors { - type yang:counter32; - description - "For packet-oriented interfaces, the number of inbound - packets that contained errors preventing them from being - deliverable to a higher-layer protocol. For character- - oriented or fixed-length interfaces, the number of - inbound transmission units that contained errors - preventing them from being deliverable to a higher-layer - protocol. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifInErrors"; - } - - leaf in-unknown-protos { - type yang:counter32; - - description - "For packet-oriented interfaces, the number of packets - received via the interface that were discarded because - of an unknown or unsupported protocol. For - character-oriented or fixed-length interfaces that - support protocol multiplexing, the number of - transmission units received via the interface that were - discarded because of an unknown or unsupported protocol. - For any interface that does not support protocol - multiplexing, this counter is not present. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos"; - } - - leaf out-octets { - type yang:counter64; - description - "The total number of octets transmitted out of the - interface, including framing characters. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifHCOutOctets"; - } - - leaf out-unicast-pkts { - type yang:counter64; - description - "The total number of packets that higher-level protocols - requested be transmitted and that were not addressed - to a multicast or broadcast address at this sub-layer, - including those that were discarded or not sent. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts"; - } - - leaf out-broadcast-pkts { - type yang:counter64; - description - "The total number of packets that higher-level protocols - requested be transmitted and that were addressed to a - broadcast address at this sub-layer, including those - that were discarded or not sent. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - - ifHCOutBroadcastPkts"; - } - - leaf out-multicast-pkts { - type yang:counter64; - description - "The total number of packets that higher-level protocols - requested be transmitted and that were addressed to a - multicast address at this sub-layer, including those - that were discarded or not sent. For a MAC-layer - protocol, this includes both Group and Functional - addresses. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - - ifHCOutMulticastPkts"; - } - - leaf out-discards { - type yang:counter32; - description - "The number of outbound packets that were chosen to be - discarded even though no errors had been detected to - prevent their being transmitted. One possible reason - for discarding such a packet could be to free up buffer - space. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifOutDiscards"; - } - - leaf out-errors { - type yang:counter32; - description - "For packet-oriented interfaces, the number of outbound - packets that could not be transmitted because of errors. - For character-oriented or fixed-length interfaces, the - number of outbound transmission units that could not be - transmitted because of errors. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifOutErrors"; - } - } - - } - } - - /* - * Legacy typedefs - */ - - typedef interface-state-ref { - type leafref { - path "/if:interfaces-state/if:interface/if:name"; - } - status deprecated; - description - "This type is used by data models that need to reference - the operationally present interfaces."; - } - - /* - * Legacy operational state data nodes - */ - - container interfaces-state { - config false; - status deprecated; - description - "Data nodes for the operational state of interfaces."; - - list interface { - key "name"; - status deprecated; - - description - "The list of interfaces on the device. - System-controlled interfaces created by the system are - always present in this list, whether or not they are - configured."; - - leaf name { - type string; - status deprecated; - description - "The name of the interface. - A server implementation MAY map this leaf to the ifName - MIB object. Such an implementation needs to use some - mechanism to handle the differences in size and characters - allowed between this leaf and ifName. The definition of - such a mechanism is outside the scope of this document."; - reference - "RFC 2863: The Interfaces Group MIB - ifName"; - } - - leaf type { - type identityref { - base interface-type; - } - mandatory true; - status deprecated; - description - "The type of the interface."; - reference - "RFC 2863: The Interfaces Group MIB - ifType"; - } - - leaf admin-status { - if-feature if-mib; - type enumeration { - enum up { - value 1; - description - "Ready to pass packets."; - } - enum down { - value 2; - description - "Not ready to pass packets and not in some test mode."; - } - enum testing { - value 3; - description - "In some test mode."; - } - } - mandatory true; - status deprecated; - description - "The desired state of the interface. - This leaf has the same read semantics as ifAdminStatus."; - reference - "RFC 2863: The Interfaces Group MIB - ifAdminStatus"; - } - - leaf oper-status { - type enumeration { - enum up { - value 1; - description - "Ready to pass packets."; - } - enum down { - value 2; - description - "The interface does not pass any packets."; - } - enum testing { - value 3; - description - "In some test mode. No operational packets can - be passed."; - } - enum unknown { - value 4; - description - "Status cannot be determined for some reason."; - } - enum dormant { - value 5; - description - "Waiting for some external event."; - } - enum not-present { - value 6; - description - "Some component (typically hardware) is missing."; - } - enum lower-layer-down { - value 7; - description - "Down due to state of lower-layer interface(s)."; - } - } - mandatory true; - status deprecated; - description - "The current operational state of the interface. - This leaf has the same semantics as ifOperStatus."; - reference - "RFC 2863: The Interfaces Group MIB - ifOperStatus"; - } - - leaf last-change { - type yang:date-and-time; - status deprecated; - description - "The time the interface entered its current operational - state. If the current state was entered prior to the - last re-initialization of the local network management - subsystem, then this node is not present."; - reference - "RFC 2863: The Interfaces Group MIB - ifLastChange"; - } - - leaf if-index { - if-feature if-mib; - type int32 { - range "1..2147483647"; - } - mandatory true; - status deprecated; - description - "The ifIndex value for the ifEntry represented by this - interface."; - - reference - "RFC 2863: The Interfaces Group MIB - ifIndex"; - } - - leaf phys-address { - type yang:phys-address; - status deprecated; - description - "The interface's address at its protocol sub-layer. For - example, for an 802.x interface, this object normally - contains a Media Access Control (MAC) address. The - interface's media-specific modules must define the bit - and byte ordering and the format of the value of this - object. For interfaces that do not have such an address - (e.g., a serial line), this node is not present."; - reference - "RFC 2863: The Interfaces Group MIB - ifPhysAddress"; - } - - leaf-list higher-layer-if { - type interface-state-ref; - status deprecated; - description - "A list of references to interfaces layered on top of this - interface."; - reference - "RFC 2863: The Interfaces Group MIB - ifStackTable"; - } - - leaf-list lower-layer-if { - type interface-state-ref; - status deprecated; - description - "A list of references to interfaces layered underneath this - interface."; - reference - "RFC 2863: The Interfaces Group MIB - ifStackTable"; - } - - leaf speed { - type yang:gauge64; - units "bits/second"; - status deprecated; - description - "An estimate of the interface's current bandwidth in bits - per second. For interfaces that do not vary in - bandwidth or for those where no accurate estimation can - be made, this node should contain the nominal bandwidth. - For interfaces that have no concept of bandwidth, this - node is not present."; - reference - "RFC 2863: The Interfaces Group MIB - - ifSpeed, ifHighSpeed"; - } - - container statistics { - status deprecated; - description - "A collection of interface-related statistics objects."; - - leaf discontinuity-time { - type yang:date-and-time; - mandatory true; - status deprecated; - description - "The time on the most recent occasion at which any one or - more of this interface's counters suffered a - discontinuity. If no such discontinuities have occurred - since the last re-initialization of the local management - subsystem, then this node contains the time the local - management subsystem re-initialized itself."; - } - - leaf in-octets { - type yang:counter64; - status deprecated; - description - "The total number of octets received on the interface, - including framing characters. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifHCInOctets"; - } - - leaf in-unicast-pkts { - type yang:counter64; - status deprecated; - description - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, that were not addressed to a - multicast or broadcast address at this sub-layer. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts"; - } - - leaf in-broadcast-pkts { - type yang:counter64; - status deprecated; - description - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, that were addressed to a broadcast - address at this sub-layer. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - - ifHCInBroadcastPkts"; - } - - leaf in-multicast-pkts { - type yang:counter64; - status deprecated; - description - "The number of packets, delivered by this sub-layer to a - higher (sub-)layer, that were addressed to a multicast - address at this sub-layer. For a MAC-layer protocol, - this includes both Group and Functional addresses. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - - ifHCInMulticastPkts"; - } - - leaf in-discards { - type yang:counter32; - status deprecated; - - description - "The number of inbound packets that were chosen to be - discarded even though no errors had been detected to - prevent their being deliverable to a higher-layer - protocol. One possible reason for discarding such a - packet could be to free up buffer space. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifInDiscards"; - } - - leaf in-errors { - type yang:counter32; - status deprecated; - description - "For packet-oriented interfaces, the number of inbound - packets that contained errors preventing them from being - deliverable to a higher-layer protocol. For character- - oriented or fixed-length interfaces, the number of - inbound transmission units that contained errors - preventing them from being deliverable to a higher-layer - protocol. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifInErrors"; - } - - leaf in-unknown-protos { - type yang:counter32; - status deprecated; - description - "For packet-oriented interfaces, the number of packets - received via the interface that were discarded because - of an unknown or unsupported protocol. For - character-oriented or fixed-length interfaces that - support protocol multiplexing, the number of - transmission units received via the interface that were - discarded because of an unknown or unsupported protocol. - For any interface that does not support protocol - multiplexing, this counter is not present. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos"; - } - - leaf out-octets { - type yang:counter64; - status deprecated; - description - "The total number of octets transmitted out of the - interface, including framing characters. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifHCOutOctets"; - } - - leaf out-unicast-pkts { - type yang:counter64; - status deprecated; - description - "The total number of packets that higher-level protocols - requested be transmitted and that were not addressed - to a multicast or broadcast address at this sub-layer, - including those that were discarded or not sent. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts"; - } - - leaf out-broadcast-pkts { - type yang:counter64; - status deprecated; - - description - "The total number of packets that higher-level protocols - requested be transmitted and that were addressed to a - broadcast address at this sub-layer, including those - that were discarded or not sent. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - - ifHCOutBroadcastPkts"; - } - - leaf out-multicast-pkts { - type yang:counter64; - status deprecated; - description - "The total number of packets that higher-level protocols - requested be transmitted and that were addressed to a - multicast address at this sub-layer, including those - that were discarded or not sent. For a MAC-layer - protocol, this includes both Group and Functional - addresses. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - - ifHCOutMulticastPkts"; - } - - leaf out-discards { - type yang:counter32; - status deprecated; - description - "The number of outbound packets that were chosen to be - discarded even though no errors had been detected to - prevent their being transmitted. One possible reason - for discarding such a packet could be to free up buffer - space. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifOutDiscards"; - } - - leaf out-errors { - type yang:counter32; - status deprecated; - description - "For packet-oriented interfaces, the number of outbound - packets that could not be transmitted because of errors. - For character-oriented or fixed-length interfaces, the - number of outbound transmission units that could not be - transmitted because of errors. - Discontinuities in the value of this counter can occur - at re-initialization of the management system and at - other times as indicated by the value of - 'discontinuity-time'."; - reference - "RFC 2863: The Interfaces Group MIB - ifOutErrors"; - } - } - } - } -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/yang/network-topology-simulator.yang b/sdnr/wt/devicemanager-oran/provider/src/main/yang/network-topology-simulator.yang deleted file mode 100644 index ac2cf8dd3..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/yang/network-topology-simulator.yang +++ /dev/null @@ -1,297 +0,0 @@ -module network-topology-simulator { - yang-version 1.1; - namespace "urn:onf:params:xml:ns:yang:network-topology-simulator"; - prefix network-topology-simulator; - - import ietf-inet-types { - prefix inet; - } - - organization - "Melacon"; - contact - "Web: <https://github.com/Melacon> - Editors: Alex Stancu - <mailto:stancu.liviualex@gmail.com>"; - description - "This module contains a collection of YANG definitions for managing the Network Topology Simulator."; - - revision 2019-10-25 { - description - "Modify notifications. Add VES message configuration options."; - reference - "O-RAN SC SIM project"; - } - revision 2019-06-07 { - description - "Modify controller details."; - reference - "O-RAN SC SIM project"; - } - revision 2019-03-07 { - description - "Initial version"; - reference - "O-RAN SC SIM project"; - } - - typedef operational-state-type { - type enumeration { - enum not-specified { - description - "none"; - } - enum running { - description - "none"; - } - enum created { - description - "none"; - } - enum exited { - description - "none"; - } - } - description - "The operation state of the simulated device."; - } - - typedef authentication-method-type { - type enumeration { - enum no-auth { - description - "no security (http)"; - } - enum cert-only { - description - "auth by certificate (https)"; - } - enum basic-auth { - description - "auth by basic auth username and password (https)"; - } - enum cert-basic-auth { - description - "auth by certificate and basic auth username / password (https)"; - } - } - description - "The authentication method for VES messaging."; - } - - typedef percent { - type decimal64 { - fraction-digits 2; - range "0 .. 100"; - } - description - "Percentage"; - } - - grouping controller-details-type-g { - leaf controller-ip { - type inet:ip-address; - description - "The IP Address of the SDN Controller."; - } - leaf controller-port { - type inet:port-number; - description - "The Port of the SDN Controller."; - } - leaf controller-username { - type string; - description - "The Username of the SDN Controller."; - } - leaf controller-password { - type string; - description - "The Password of the SDN Controller."; - } - description - "none"; - } - - grouping simulated-devices-type-g { - leaf uuid { - type string; - description - "The UUID of the simulated device."; - } - leaf device-ip { - type string; - description - "The IP Address of the simulated device."; - } - leaf-list device-port { - type uint32; - description - "A NETCONF endpoint (port) of the simulated device."; - } - leaf is-mounted { - type boolean; - description - "Specifies if the simulated device is mounted in the SDN Controller."; - } - leaf operational-state { - type operational-state-type; - description - "Specifies the operational state of the simulated device."; - } - description - "none"; - } - - container simulator-config { - description - "Configuration container of the simulator."; - leaf simulated-devices { - type uint32; - default "0"; - description - "The number of devices to be simulated."; - } - leaf mounted-devices { - type uint32; - default "0"; - description - "The number of devices to be mounted in ODL. The configured number should not exceed the number of mounted devices."; - } - container notification-config { - leaf fault-notification-delay-period { - type uint32; - default "0"; - description - "Interval in seconds between two consecutive notifications. If the attribute is set to 0, nofitications are not generated."; - } - leaf ves-heartbeat-period { - type uint32; - default "0"; - description - "Interval in seconds between two VES heartbeat messages. If the attribute is set to 0, heartbeat messages are not generated."; - } - leaf is-netconf-available { - type boolean; - default "true"; - description - "If set to 'true', NETCONF notifications will be generated."; - } - leaf is-ves-available { - type boolean; - default "true"; - description - "If set to 'true', VES messages will be generated."; - } - description - "none"; - } - container controller-details { - uses controller-details-type-g; - description - "The connectivity details of the SDN Controller where we want to mount our simulated devices."; - } - container ves-endpoint-details { - must 'ves-registration = "false" or ../mounted-devices = 0' { - error-message "VES registration cannot be active while devices are still mounted to ODL not via VES."; - } - leaf ves-endpoint-ip { - type inet:ip-address; - description - "The IP Address of the VES Endpoint."; - } - leaf ves-endpoint-port { - type inet:port-number; - description - "The Port of the VES Endpoint."; - } - leaf ves-endpoint-auth-method { - type authentication-method-type; - default "no-auth"; - description - "The type of the authentication to be used with the VES Endpoint."; - } - leaf ves-endpoint-username { - when "../ves-endpoint-auth-method = 'basic-auth' or ../ves-endpoint-auth-method = 'cert-basic-auth'"; - type string; - description - "The Username to be used to authenticate to the VES Endpoint."; - } - leaf ves-endpoint-password { - when "../ves-endpoint-auth-method = 'basic-auth' or ../ves-endpoint-auth-method = 'cert-basic-auth'"; - type string; - description - "The Password to be used to authenticate to the VES Endpoint."; - } - leaf ves-endpoint-certificate { - when "../ves-endpoint-auth-method = 'cert-only' or ../ves-endpoint-auth-method = 'cert-basic-auth'"; - type string; - description - "The Certificate to be used to authenticate to the VES Endpoint."; - } - leaf ves-registration { - type boolean; - default "false"; - description - "If this is set to 'True', the simulated devices will automatically send a pnfRegistration VES message when they start. This cannot be set to 'True' if we already have 'mounted-devices' greater that 0, because we already mounted the devices directly to ODL."; - } - description - "none"; - } - } - container simulator-status { - config false; - container simulation-usage-details { - config false; - leaf running-simulated-devices { - type uint32; - description - "The current number of running simulated devices."; - } - leaf running-mounted-devices { - type uint32; - description - "The current number of running simulated devices that are mounted in ODL."; - } - leaf base-netconf-port { - type uint32; - default "30000"; - description - "The starting port number for the NETCONF connections exposed."; - } - leaf cpu-usage { - type percent; - description - "Specifies the CPU load generated by this simulated device."; - } - leaf mem-usage { - type uint32; - description - "Specifies the RAM in MB used by this simulated device."; - } - description - "The details about the simulation, including resources consumed."; - } - list simulated-devices-list { - key "uuid"; - config false; - uses simulated-devices-type-g; - description - "The list of the devices that are currently simulated."; - } - description - "State data container of the simulator."; - } - - rpc restart-simulation { - description - "Operation to restart all the simulated devices with the new configuration of the simulator."; - } - - rpc add-key-pair-to-odl { - description - "Operation to add a key pair signed by the NTS to OpenDaylight, such that it can connect to devices using TLS."; - } -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/yang/o-ran-fm.yang b/sdnr/wt/devicemanager-oran/provider/src/main/yang/o-ran-fm.yang deleted file mode 100644 index 92238aade..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/yang/o-ran-fm.yang +++ /dev/null @@ -1,168 +0,0 @@ -module o-ran-fm { - yang-version 1.1; - namespace "urn:o-ran:fm:1.0"; - prefix "o-ran-fm"; - - import ietf-yang-types { - prefix yang; - revision-date 2013-07-15; - } - - organization "O-RAN Alliance"; - - contact - "www.o-ran.org"; - - description - "This module defines alarm reporting mechanism. - - Copyright 2019 the O-RAN Alliance. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the above disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the above disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the Members of the O-RAN Alliance nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission."; - - revision "2019-02-04" { - description - "version 1.0.0 - - 1) imported model from xRAN - 2) changed namespace and reference from xran to o-ran"; - - reference "ORAN-WG4.M.0-v01.00"; - } - - grouping alarm { - description - "Gropuping which can uniquely identify alarm"; - - leaf fault-id { - type uint16; - mandatory true; - - description - "Fault specific Id that identifies the fault."; - } - - leaf fault-source { - type string { - length "1..255"; - } - mandatory true; - - description - "Represents the Object or source that is suspected to be faulty."; - } - - list affected-objects { - key name; - leaf name { - type string { - length "1..255"; - } - mandatory true; - - description - "Represents the Object or source that is suspected to be affected by this fault"; - } - min-elements 1; - max-elements 100; - - description - "List of affected-objects"; - } - - leaf fault-severity { - type enumeration { - enum CRITICAL { - description - "Critical alarm means that this device is not able to perform any further service"; - } - enum MAJOR { - description - "Major alarm appeared on the device"; - } - enum MINOR { - description - "Minor alarm appeared on the device"; - } - enum WARNING { - description - "Warning is being reported by the device"; - } - } - mandatory true; - - description - "Fault severity defines the severity level of the fault. A notification, whose fault severity has the value 'warning', - is a special type of an alarm notification. For these alarm notifications, - the Master Agent does not expect to receive a clear alarm notification."; - } - - leaf is-cleared { - type boolean; - mandatory true; - - description - "Fault state determines the type of the event. Not used if faultSeverity is WARNING."; - } - - leaf fault-text { - type string { - length "0..255"; - } - - description - "Textual description of the fault."; - } - - leaf event-time { - type yang:date-and-time; - mandatory true; - - description - "Timestamp to indicate the time when the fault is detected/cleared."; - } - } - - container active-alarm-list { - list active-alarms { - key fault-id; - uses alarm; - - description - "List of currenty active alarms"; - } - config false; - - description - "List of currently active alarms. An alarm is removed from this table when the state transitions to clear."; - } - - notification alarm-notif { - uses alarm; - - description - "Notification sent on initial alarm creation, as well as any time the alarm changes state, including clear"; - } -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/main/yang/o-ran-hardware.yang b/sdnr/wt/devicemanager-oran/provider/src/main/yang/o-ran-hardware.yang deleted file mode 100644 index 34cdadaca..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/main/yang/o-ran-hardware.yang +++ /dev/null @@ -1,271 +0,0 @@ -module o-ran-hardware { - yang-version 1.1; - namespace "urn:o-ran:hardware:1.0"; - prefix "o-ran-hw"; - - import ietf-hardware { - prefix hw; - } - import iana-hardware { - prefix ianahw; - } - - organization "O-RAN Alliance"; - - contact - "www.o-ran.org"; - - description - "This module defines the YANG definitions for managng the O-RAN hardware. - - Copyright 2019 the O-RAN Alliance. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the above disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the above disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the Members of the O-RAN Alliance nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission."; - - revision "2019-03-28" { - description - "version 1.0.1 - - 1) added new identities to accommodate cross working group use of - o-ran-hardware and assoicated set of augmentations that are backwards - compatible to version 1.0.0"; - - reference "ORAN-WG4.M.0-v01.00"; - } - - revision "2019-02-04" { - description - "version 1.0.0 - - 1) imported model from xRAN - 2) changed namespace and reference from xran to o-ran"; - - reference "ORAN-WG4.M.0-v01.00"; - } - - feature ENERGYSAVING { - description - "Indicates that the Radio Unit supports energy saving state."; - } - - // identity statements - identity O-RAN-RADIO { - base ianahw:module; - description - "Module used as it represents a self-contained sub-system - used in /hw:/hardware/hw:component/hw:class to represent - an O-RAN RU"; - } - - identity O-RAN-HW-COMPONENT { - base ianahw:module; - description - "Module used as it represents a self-contained sub-system - used in /hw:/hardware/hw:component/hw:class to represent - any O-RAN hardware component"; - } - - identity O-DU-COMPONENT { - base O-RAN-HW-COMPONENT; - description - "Used in /hw:/hardware/hw:component/hw:class to represent - any O-RAN defined O-DU hardware component"; - } - - identity O-RU-COMPONENT { - base O-RAN-HW-COMPONENT; - description - "Used in /hw:/hardware/hw:component/hw:class to represent - any O-RAN defined O-RU hardware component, including a stand-alone - O-RU or an O-RU component integrated into a multi-module system."; - } - - // typedef statements - typedef energysaving-state { - type enumeration { - enum UNKNOWN { - description "The Radio Unit is unable to report energy saving state."; - } - enum SLEEPING { - description - "The Radio Unit is in a sleep state. The NETCONF management plane - connection is functioning. Other functions and hardware which are - not needed for management plane may be in energy saving mode."; - } - enum AWAKE { - description - "The Radio Unit is not in an energy saving state."; - } - } - description - "new typedef since ietf-hardware only covers pwer-state - for redundancy purposes and not power saving operations."; - } - - typedef availability-type { - type enumeration { - enum UNKNOWN { - description "The Radio Unit is unable to report its availability state."; - } - enum NORMAL { - description - "The equipment is functioning correctly."; - } - enum DEGRADED { - description - "The equipment may be reporting a major alarm or may be reporting a critical - alarm that is only impacting one or more subcomponent, but where the - equipment's implementation permit it to continue operation (server traffic) - in a degraded state. - - Used for example, when the equipment has M identical sub-components and - when a critical alarm is imapcting only N subcomponents, where N<M."; - } - enum FAULTY { - description - "The (sub-)components impacted by the critical alarm(s) impact the - ability of the equipment to continue operation (serve traffic)."; - } - } - description - "Equipment's availability-state is derived by matching active faults - and their impact to module's operation and enables an equipment to indicate - that even though it may have one or more critical alarms, it can continue - to serve traffic."; - } - - // common WG4 and croos-WG augmentations using O-RAN-RADIO identity - - augment "/hw:hardware/hw:component" { - when "(derived-from-or-self(hw:class, 'o-ran-hw:O-RAN-RADIO')) or - (derived-from-or-self(hw:class, 'o-ran-hw:O-RAN-HW-COMPONENT'))"; - description "New O-RAN parameters for o-ran hardware"; - - container label-content { - config false; - description - "Which set of attributes are printed on the Radio Unit's label"; - leaf model-name { - type boolean; - description - "indicates whether model-name is included on the equipment's label"; - } - leaf serial-number { - type boolean; - description - "indicates whether serial number is included on the equipment's label"; - } - } - leaf product-code { - type string; - config false; - mandatory true; - description - "O-RAN term that is distinct from model-name in ietf-hardware."; - } - leaf energy-saving-enabled { - if-feature "ENERGYSAVING"; - type boolean; - config true; - default false; - description - "This parameter can enable O-RAN unit to be switched to energy - saving mode. - TRUE indicates to switch the energy saving mode. - FALSE indicates to cancel the energy saving mode. - At the energy saving mode, all power of whole O-RAN unit becomes - lowest level whereas M-plane is still available"; - } - } - - augment "/hw:hardware/hw:component" { - when "(derived-from-or-self(hw:class, 'o-ran-hw:O-RAN-RADIO')) or - (derived-from-or-self(hw:class, 'ianahw:port')) or - (derived-from-or-self(hw:class, 'o-ran-hw:O-RAN-HW-COMPONENT'))"; - description "New O-RAN parameters for o-ran naming"; - leaf o-ran-name { - type leafref { - path "/hw:hardware/hw:component/hw:name"; - } - must "re-match(current(),'[a-zA-Z0-9][a-zA-Z0-9\\.\\-_]{0,253}[a-zA-Z0-9]')" { - error-message "Name must match pattern and length."; - } - mandatory true; - description - "O-RAN name needed to bind and match with the name of hw element, - to be compliant with O-RAN naming convention."; - } - } - - augment "/hw:hardware/hw:component/hw:state" { - when "(derived-from-or-self(../hw:class, 'o-ran-hw:O-RAN-RADIO')) or - (derived-from-or-self(../hw:class, 'o-ran-hw:O-RAN-HW-COMPONENT'))"; - description - "new O-RAN defined state"; - leaf power-state { - if-feature "ENERGYSAVING"; - type energysaving-state; - config false; - description - "The current power saving state for this component. - Note - hw:/hardware/compnent/state/standby-state defined in RFC 4268 is - used for redundancy purposes and not power saving operations."; - } - leaf availability-state { - type availability-type; - config false; - description - "Equipment's availability-state is derived by matching active faults - and their impact to module's operation and enables an equipment to indicate - that even though it may have one or more critical alarms, it can continue - to serve traffic."; - } - } - - -// augmentations to Notifications - - augment "/hw:hardware-state-oper-enabled" { - description "new availability state"; - leaf availability-state { - type leafref { - path "/hw:hardware/hw:component/hw:state/o-ran-hw:availability-state"; - } - description - "The availability-state of the O-RU."; - } - } - - augment "/hw:hardware-state-oper-disabled" { - description "new availability state"; - leaf availability-state { - type leafref { - path "/hw:hardware/hw:component/hw:state/o-ran-hw:availability-state"; - } - description - "The availability-state of the O-RU."; - } - } -} diff --git a/sdnr/wt/devicemanager-oran/provider/src/test/resources/simplelogger.properties b/sdnr/wt/devicemanager-oran/provider/src/test/resources/simplelogger.properties deleted file mode 100644 index bdc3c1009..000000000 --- a/sdnr/wt/devicemanager-oran/provider/src/test/resources/simplelogger.properties +++ /dev/null @@ -1,40 +0,0 @@ -# SLF4J's SimpleLogger configuration file -# Simple implementation of Logger that sends all enabled log messages, for all defined loggers, to System.err. - -# Default logging detail level for all instances of SimpleLogger. -# Must be one of ("trace", "debug", "info", "warn", or "error"). -# If not specified, defaults to "info". -org.slf4j.simpleLogger.defaultLogLevel=info - -# Logging detail level for a SimpleLogger instance named "xxx.yyy.zzz". -# Must be one of ("trace", "debug", "info", "warn", or "error"). -# If not specified, the default logging detail level is used. -# org.slf4j.simpleLogger.log.xxx.yyy=debug -org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager=info -org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.test=debug -org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.database=debug -org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.archiveservice=info -org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.base.internalTypes.Resources=info -org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.base.netconf.container=info - -# Set to true if you want the current date and time to be included in output messages. -# Default is false, and will output the number of milliseconds elapsed since startup. -#org.slf4j.simpleLogger.showDateTime=false - -# The date and time format to be used in the output messages. -# The pattern describing the date and time format is the same that is used in java.text.SimpleDateFormat. -# If the format is not specified or is invalid, the default format is used. -# The default format is yyyy-MM-dd HH:mm:ss:SSS Z. -#org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss:SSS Z - -# Set to true if you want to output the current thread name. -# Defaults to true. -#org.slf4j.simpleLogger.showThreadName=true - -# Set to true if you want the Logger instance name to be included in output messages. -# Defaults to true. -#org.slf4j.simpleLogger.showLogName=true - -# Set to true if you want the last component of the name to be included in output messages. -# Defaults to false. -#org.slf4j.simpleLogger.showShortLogName=false |