summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager-oran/provider
diff options
context:
space:
mode:
authorherbert <herbert.eiselt@highstreet-technologies.com>2020-01-28 16:45:58 +0100
committerDan Timoney <dtimoney@att.com>2020-01-30 14:15:24 -0500
commitd1981f7e68272cdc5618139a363b80806c2aa77c (patch)
tree4aed1c81db6fab00d8266ff651e222b1b9fd4fed /sdnr/wt/devicemanager-oran/provider
parent032ce4ec7c3d7ac138555dfe980ca53ebbf39f01 (diff)
SDN-R update common
update common and remove all dependent bundles Issue-ID: SDNC-1025 Signed-off-by: herbert <herbert.eiselt@highstreet-technologies.com> Change-Id: I0cebe27eff0489f9b221ee7451be9250e362a827
Diffstat (limited to 'sdnr/wt/devicemanager-oran/provider')
-rw-r--r--sdnr/wt/devicemanager-oran/provider/copyright17
-rw-r--r--sdnr/wt/devicemanager-oran/provider/pom.xml174
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/DeviceManagerORanImpl.java89
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/NtsNetworkElement.java78
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanChangeNotificationListener.java99
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanFaultNotificationListener.java39
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanNetworkElement.java135
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanNetworkElementFactory.java47
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/oran/impl/ORanToInternalDataModel.java70
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml35
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/resources/version.properties3
-rwxr-xr-xsdnr/wt/devicemanager-oran/provider/src/main/yang/iana-hardware.yang180
-rwxr-xr-xsdnr/wt/devicemanager-oran/provider/src/main/yang/ietf-hardware.yang1141
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/yang/ietf-interfaces.yang1073
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/yang/network-topology-simulator.yang297
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/yang/o-ran-fm.yang168
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/main/yang/o-ran-hardware.yang271
-rw-r--r--sdnr/wt/devicemanager-oran/provider/src/test/resources/simplelogger.properties40
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 b40101f96..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.2-SNAPSHOT</version>
- <relativePath/>
- </parent>
-
- <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
- <artifactId>sdnr-wt-devicemanager-oran-provider</artifactId>
- <version>0.7.1-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