Skip to content
This repository was archived by the owner on Nov 5, 2024. It is now read-only.

Compile failed: Value for identity is invalid #2

@hrk091

Description

@hrk091

I've tried to compile OpenConfig model and to install sample config to openconfig emulator(based on confd) via DynamicDeviceConfigSynchronizer. The config sample is

{
  "openconfig-interfaces:interfaces": {
    "interface": [
      {
        "name": "foo",
        "config": {
          "enabled": "true",
          "type": "ianaift:fastEther"
        }
      }
    ]
  }
}

And the sample code is below

        DefaultInterfaces interfaces = new DefaultInterfaces();

        DefaultYangAutoPrefixInterface _interface = new DefaultYangAutoPrefixInterface();
        interfaces.addToYangAutoPrefixInterface(_interface);
        String ifName = "foo";
        _interface.name(ifName);

        DefaultConfig config = new DefaultConfig();
        _interface.config(config);
        config.enabled(true);
        try {
            Class<? extends InterfaceType> fastEther = IanaInterfaceType.fromString("fastEther");
            config.type(fastEther);
        } catch (Exception e) {
            printlog("Instance creation failed: ", e);
        }

        printlog("Object to be created: {}", interfaces);
        ModelObjectData modelData = DefaultModelObjectData.builder()
                .addModelObject(interfaces)
                .identifier(null)
                .build();
        ResourceData rnode = modelConverter.createDataNode(modelData);

In this case, I have to use IdentityRef to describe InterfaceType from iana-if-type, and some error related to IdentityRef occurred.

Object to be created: DefaultInterfaces{yangAutoPrefixInterface=[DefaultYangAutoPrefixInterface{name=hoge, valueLeafFlags={1}, config=DefaultConfig{name=null, type=class org.onosproject.yang.gen.v1.ianaiftype.rev20170330.ianaiftype.FastEther, mtu=0, description=null, enabled=true, valueLeafFlags={2, 5}}, state=null, holdTime=null, subinterfaces=null}]}
org.onosproject.yang.runtime.impl.ModelConverterException: Value for identity is invalid
        at org.onosproject.yang.runtime.impl.ModelConverterUtil.getIdentityRefValue(ModelConverterUtil.java:372)
        at org.onosproject.yang.runtime.impl.ModelConverterUtil.getObjFromType(ModelConverterUtil.java:309)
        at org.onosproject.yang.runtime.impl.ModelConverterUtil.getLeafObject(ModelConverterUtil.java:573)
        at org.onosproject.yang.runtime.impl.DataTreeBuilderHelper.processLeaves(DataTreeBuilderHelper.java:769)
        at org.onosproject.yang.runtime.impl.DataTreeBuilderHelper.processCurSchemaNode(DataTreeBuilderHelper.java:469)
        at org.onosproject.yang.runtime.impl.DataTreeBuilderHelper.getDataTree(DataTreeBuilderHelper.java:173)
        at org.onosproject.yang.runtime.impl.DefaultDataTreeBuilder.processNodeObj(DefaultDataTreeBuilder.java:549)
        at org.onosproject.yang.runtime.impl.DefaultDataTreeBuilder.processDataNodeConversion(DefaultDataTreeBuilder.java:189)
        at org.onosproject.yang.runtime.impl.DefaultDataTreeBuilder.getResourceData(DefaultDataTreeBuilder.java:155)
        at org.onosproject.yang.runtime.impl.DefaultModelConverter.createDataNode(DefaultModelConverter.java:48)
        at org.onosproject.yang.impl.YangRuntimeManager.createDataNode(YangRuntimeManager.java:162)
        at org.onosproject.d.config.sync.test.TestDyConCommand.executeBody(TestDyConCommand.java:168)
        at org.onosproject.d.config.sync.test.TestDyConCommand.execute(TestDyConCommand.java:66)
        at org.onosproject.cli.AbstractShellCommand.doExecute(AbstractShellCommand.java:150)
        at org.apache.karaf.shell.console.AbstractAction.execute(AbstractAction.java:33)
        at org.apache.karaf.shell.commands.basic.AbstractCommand.execute(AbstractCommand.java:33)
        at Proxy08afd643_5b58_433b_8412_2373eb79976b.execute(Unknown Source)
        at Proxy08afd643_5b58_433b_8412_2373eb79976b.execute(Unknown Source)
        at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)
        at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:480)
        at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:406)
        at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:182)
        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:119)
        at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:94)
        at org.apache.karaf.shell.console.impl.jline.ConsoleImpl.run(ConsoleImpl.java:210)
        at org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$1.runConsole(ShellFactoryImpl.java:158)
        at org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$1$1.run(ShellFactoryImpl.java:133)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.karaf.jaas.modules.JaasHelper.doAs(JaasHelper.java:57)
        at org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$1.run(ShellFactoryImpl.java:129)
Error executing command: Value for identity is invalid

This error has occurred when I use both ver2.3.0 and latest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions