cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

898
Views
0
Helpful
12
Replies
khgrant
Cisco Employee

Help Debugging NetConf NED Build

 

Hi folks,

 

 

I’m attempting to create a NetConf NED from the Yang models for Broad Band Forum G.Fast (BBF WT-355) however I get a cryptic error on the build. Any hints on how to debug further would be appreciated.

 

 

 

I used the Yang files and ‘ ncs-make-package   --netconf-ned /path/to/yangfiles gfast ’ to create the NED package, and resolved references to ietf and iana imports.

 

 

‘ make clean ‘ is successful.

 

 

‘ make all ‘ results in:

 

 

cisco@ubuntu:~/bbf/gfast/src$ make all

 

/home/cisco/nso-4.1/bin/ncsc --ncs-compile-bundle yang \

 

                 --ncs-device-dir ncsc-out   \

 

                 --ncs-device-type netconf && \

 

        cp ncsc-out/modules/fxs/*.fxs ../load-dir;

 

internal error

 

make: *** [ncsc-out/.done] Error 1

 

cisco@ubuntu:~/bbf/gfast/src$

 

 

 

 

Digging a little deeper into ncsc:

 

 

cisco@ubuntu:~/bbf/gfast/src$ /home/cisco/nso-4.1/bin/ncsc --verbose --ncs-compile-bundle yang --ncs-device-dir ncsc-out --ncs-device-type netconf

 

/home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yang yang/bbf-fast-vectoring-profile-body.yang -o augmented/bbf-fast-vectoring-profile-body.yang

 

/home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yang yang/bbf-fast-upstream-power-back-off-profile-body.yang -o augmented/bbf-fast-upstream-power-back-off-profile-body.yang

 

/home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yang yang/bbf-fast-update-test-body.yang -o augmented/bbf-fast-update-test-body.yang

 

/home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yang yang/bbf-fast-threshold-management.yang -o augmented/bbf-fast-threshold-management.yang

 

/home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yang yang/bbf-fast-test-mode-body.yang -o augmented/bbf-fast-test-mode-body.yang

 

/home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yang yang/bbf-fast-test-diagnostics.yang -o augmented/bbf-fast-test-diagnostics.yang

 

internal error

 

cisco@ubuntu:~/bbf/gfast/src$

 

 

 

Where should I look now?

 

 

Thanks!

 

-Don

 

12 REPLIES 12
khgrant
Cisco Employee

 

Don,

 

 

Most often this is due to errors in the model(s) you're trying to compile, which trigger inconsistencies the compiler folks never imagined, so there's no nice error print out for that case. Instead you get this "internal error". In some cases, there are plain NSO compiler bugs too, of course.

 

 

If you add the -v flag to your ncsc build line, you'll be able to figure out which file it is that causes this.

 

 

If you unicast send me the models you're trying to compile, I might be able to help. (But allow me some time to respond)

 

 

Best Regards,

 

/jan

 

khgrant
Cisco Employee

 

We have the devices in RTP :-)

 

khgrant
Cisco Employee

 

FYI - Bill was referring to another NED for another device...

 

However I am told we should be able to get access to an Adtran device which claims to support this model, to check this G.Fast NED.

-Don

 

khgrant
Cisco Employee

 

I tried the ncs --list-errors option and get the following. It seems there is a fundamental problem with the source Yang files – maybe a version issue?

 

 

FYI,

 

-Don

 

 

 

cisco@ubuntu:~/bbf/gfast/src/yang$ /home/cisco/nso-4.1/bin/ncsc --verbose --list-errors --ncs-compile-bundle yang --ncs-device-dir ncsc-out --ncs-device-type netconf

 

Error:   TAILF_ANNOTATE_STMT_POS_NOT_FOUND

 

Message: There are ~p ~p statements found, position ~p was given.

 

 

Error:   TAILF_ANNOTATE_STMT_NOT_FOUND

 

Message: No ~p statements with the given argument is found.

 

 

Error:   TAILF_BAD_CALL_ONCE

 

Message: call-once can only be used for lists

 

 

Error:   TAILF_BAD_COLUMN

 

Message: ~s is not found in the list ~s.

 

 

Warning: TAILF_BAD_COMBO

 

Message: cannot have ~s and ~s (found at ~s) at the same time

 

 

Error:   TAILF_BAD_DEFAULT_REF

 

Message: default-ref cannot be used on a leaf which ~s

 

 

Error:   TAILF_BAD_DISPLAY_HINT_TYPE

 

Message: 'tailf:display-hint' can only be used for type 'binary' and integers.

 

 

Error:   TAILF_BAD_DISPLAY_HINT_SYNTAX

 

Message: Syntax error in display-hint.

 

 

Error:   TAILF_BAD_INSTANCE_IDENTIFIER

 

Message: ~s can only be used for type 'instance-identifier'.

 

 

Error:   TAILF_BAD_KEY

 

Message: When ~s is given, the list must have exactly one integer-based key.

 

 

Error:   TAILF_BAD_KEY_DEFAULT

 

Message: key-default can only be given to key leafs

 

 

Error:   TAILF_BAD_LEAFREF_TYPE

 

Message: The leafref's target type '~s' is not the same as the given type '~s'.

 

 

Error:   TAILF_BAD_LINK

 

Message: link from ~s cannot refer to a ~s

 

 

Error:   TAILF_BAD_SNMP_DELETE_VALUE

 

Message: The snmp-delete-value cannot be a valid value according to the YANG type.

 

 

Error:   TAILF_BAD_SNMP_DELETE_VALUE_ENUM

 

Message: The snmp-delete-value for an enumeration must be an unused integer.

 

 

Error:   TAILF_BAD_SORT_ORDER

 

Message: sort-order cannot be used on ordered-by user lists

 

 

Error:   TAILF_BAD_STEP_TYPE

 

Message: tailf:step is not supported for the base type.

 

 

Error:   TAILF_BAD_UNIQUE_LEAF_NODE

 

Message: Node ~s is not a leaf.

 

 

Error:   TAILF_BAD_UNIQUE_SELECTOR_NODE

 

Message: Node ~s is not a list.

 

 

Error:   TAILF_BAD_VALUE_LENGTH_TYPE

 

Message: Restriction tailf:value-length is not valid for the base type.

 

 

Error:   TAILF_CDB_OPER_CALLPOINT

 

Message: cdb-oper is not legal under a callpoint

 

 

Error:   TAILF_CDB_OPER_PERSISTENCE

 

Message: cdb-oper cannot be persistent under a non-persistent node

 

 

Error:   TAILF_CDB_OPER_SECONDARY_INDEX

 

Message: secondary-index is not legal in cdb-oper

 

 

Error:   TAILF_CLI_CONTAINER_MUST_BE_MODE

 

Message: The container must have a tailf:cli-add-mode statement

 

 

Error:   TAILF_DEFAULT_REF_NOT_LEAF

 

Message: The default-ref refers to non-leaf node ~s at ~s

 

 

Warning: TAILF_DEPENDENCY_MISMATCH

 

Message: Given dependencies are not equal to calculated: ~s. Consider removing tailf:dependency statements.

 

 

Error:   TAILF_DUPLICATE_INDEX_LEAF

 

Message: The leaf '~s' must not be listed more than once.

 

 

Error:   TAILF_EXPORT_AND_OTHER

 

Message: export ~s must be used as the only export statement

 

 

Error:   TAILF_HOOK_ARG_LIST

 

Message: A ~s of type object can only be set on lists

 

 

Error:   TAILF_INVALID_ANNOTATE

 

Message: The statement ~s cannot be annotated into a ~s.

 

 

Error:   TAILF_MULTIPLE_DEFAULT_ORDER

 

Message: A display-default-order statement is already given at ~s.

 

 

Error:   TAILF_MUST_BE_CONFIG

 

Message: When ~s is given, the node must be config.

 

 

Error:   TAILF_MUST_BE_CONFIG_FALSE

 

Message: When ~s is given, the node must not be config.

 

 

Error:   TAILF_MUST_BE_KEY

 

Message: When ~s is given, the leaf must be a list key

 

 

Error:   TAILF_MUST_BE_OPTIONAL

 

Message: When ~s is given, the leaf must not be mandatory or a list key.

 

 

Warning: TAILF_MUST_FAIL

 

Message: The 'must' expression will fail: ~s

 

 

Warning: TAILF_MUST_NEED_DEPENDENCY

 

Message: The 'must' expression should have a tailf:dependency. If is doesn't, it will be checked for every commit.

 

 

Error:   TAILF_NCS_BAD_SERVICE_USES

 

Message: A service must use the grouping 'ncs:service-data'.

 

 

Error:   TAILF_NCS_NP_SERVICE

 

Message: A service cannot be defined in a non-presence container.

 

 

Error:   TAILF_NEED_KEY_DEFAULT

 

Message: needs a key-default since the key leaf at ~s has one

 

 

Error:   TAILF_NEED_ROW_STATUS

 

Message: The ~s statement can only be given on lists with a tailf:snmp-row-status-column.

 

 

Error:   TAILF_NO_OID

 

Message: ~s does not have an OID.

 

 

Error:   TAILF_NON_MANDATORY_INDEX_LEAF

 

Message: secondary-index leaf '~s' must be mandatory.

 

 

Error:   TAILF_NOT_IN_LINK

 

Message: ~s is not allowed in tailf:link.

 

 

Error:   TAILF_TOP_LEVEL_CHOICE

 

Message: cannot handle top-level choice.

 

 

Error:   TAILF_UNKNOWN_INDEX_LEAF

 

Message: secondary-index leaf '~s' not found.

 

 

Error:   TAILF_UNSUPPORTED_BIT_POSITION

 

Message: Cannot convert bits with positions above 63.

 

 

Warning: TAILF_VALIDATE_NEED_DEPENDENCY

 

Message: The 'tailf:validate' expression should have a tailf:dependency. If it doesn't, the function is called for every commit.

 

 

Error:   TAILF_WHEN_NEED_DEPENDENCY

 

Message: The 'when' expression must have a tailf:dependency.

 

 

Error:   TAILF_BAD_ID_VALUE

 

Message: The id-value ~p is out of range, must be 1 .. 4294967294.

 

 

Error:   TAILF_BAD_CLI_STRING

 

Message: Invalid quoting in cli string.

 

 

Error:   TAILF_BAD_HASH

 

Message: The ~s '~s' has been assigned the invalid value ~p. Use tailf:id-value to assign a different value.

 

 

Error:   TAILF_HASH_VALUE_CONFLICT

 

Message: The ~s '~s' and the ~s '~s' (at ~s) have been assigned the same value. Use tailf:id-value to resolve the issue.

 

 

Error:   TAILF_HASH_NAME_CONFLICT

 

Message: The ~s '~s' and the ~s '~s' (at ~s) have been assigned different values. When tailf:id-value is used, the same value must b

 

e assigned to all identifiers with the same name.

 

 

Error:   TAILF_CODE_NAME_CONFLICT

 

Message: The ~s '~s' and the ~s '~s' (at ~s) have been assigned different code-names. When tailf:code-name is used, the same code-na

 

me must be assigned to all identifiers with the same name.

 

 

Error:   SMIv2_ERR_SUBID

 

Message: smiv2:subid needs a parent with an smiv2:oid or smiv2:subid

 

 

Error:   SMIv2_ERR_DUPLICATE_OID

 

Message: OID ~s already defined at ~s

 

 

Error:   SMIv2_ERR_SUBID_AND_OID

 

Message: smiv2:subid and smiv2:oid cannot be given at the same time

 

 

Error:   YANG_ERR_BAD_ARGUMENT

 

Message: bad argument value "~s", should be of type ~s

 

 

Error:   YANG_ERR_BAD_ARGUMENT2

 

Message: bad argument value "~s": ~s

 

 

Error:   YANG_ERR_BAD_AUGMENT_NODE_TYPE

 

Message: cannot augment ~s node ~s

 

 

Error:   YANG_ERR_BAD_AUGMENT_NODE_TYPE2

 

Message: cannot augment a ~s into the ~s node ~s

 

 

Error:   YANG_ERR_BAD_BELONGS_TO

 

Message: '~s' includes '~s', but it does not specifiy a correct belongs-to

 

 

Error:   YANG_ERR_BAD_DEFAULT_VALUE

 

Message: the type "~s" cannot have a default value

 

 

Error:   YANG_ERR_BAD_IMPORT

 

Message: expected module, found submodule at ~s

 

 

Error:   YANG_ERR_BAD_INCLUDE

 

Message: expected submodule, found module at ~s

 

 

Error:   YANG_ERR_BAD_KEY

 

Message: the key ~s does not reference an existing leaf

 

 

Error:   YANG_ERR_BAD_LENGTH

 

Message: the length range "~s" is not valid for the base type

 

 

Error:   YANG_ERR_BAD_LENGTH_BOUNDS

 

Message: the length value ~s is not larger than ~s

 

 

Error:   YANG_ERR_BAD_LENGTH_VALUE

 

Message: the length value ~s is not valid for the base type

 

 

Error:   YANG_ERR_BAD_PATTERN

 

Message: invalid pattern: "~s"

 

 

Error:   YANG_ERR_BAD_RANGE

 

Message: the range "~s" is not valid for the base type

 

 

Error:   YANG_ERR_BAD_RANGE_BOUNDS

 

Message: the range value ~s is not larger than ~s

 

 

Error:   YANG_ERR_BAD_RANGE_VALUE

 

Message: the range value ~s is not valid for the base type

 

 

Error:   YANG_ERR_BAD_REFINE

 

Message: the statement '~s' cannot be refined

 

 

Error:   YANG_ERR_BAD_RESTRICTION

 

Message: restriction '~s' is not valid for the base type

 

 

Error:   YANG_ERR_BAD_TYPE_IN_UNION

 

Message: the type ~s (defined at ~s) cannot be part of a union

 

 

Error:   YANG_ERR_BAD_UNIQUE_CONFIG

 

Message: some nodes in the unique argument are config and some are not

 

 

Error:   YANG_ERR_BAD_UNIQUE_LEAF

 

Message: node ~s in the unique argument is not a leaf

 

 

Error:   YANG_ERR_BAD_UNIQUE_PART

 

Message: node '~s' in the unique argument is a ~s; this is not legal

 

 

Error:   YANG_ERR_BIT_POSITION

 

Message: the position ~w is not an unsigned 32 bit integer

 

 

Error:   YANG_ERR_CIRCULAR_DEPENDENCY

 

Message: circular dependency for ~s '~s'

 

 

Error:   YANG_ERR_DEFAULT_AND_MANDATORY

 

Message: a 'default' value cannot be given when 'mandatory' is "true"

 

 

Error:   YANG_ERR_DEFAULT_CASE_NOT_FOUND

 

Message: the default case "~s" is not found

 

 

Error:   YANG_ERR_DEFINITION_NOT_FOUND

 

Message: ~s ~s not found

 

 

Error:   YANG_ERR_DUPLICATE_BIT_NAME

 

Message: the bit name "~s" has already been used for the bits type at ~s

 

 

Error:   YANG_ERR_DUPLICATE_BIT_POSITION

 

Message: the position "~s" has already been used for the bits type at ~s

 

 

Error:   YANG_ERR_DUPLICATE_DEFINITION

 

Message: ~s '~s' already defined at ~s

 

 

Error:   YANG_ERR_DUPLICATE_ENUM_NAME

 

Message: the enum name "~s" has already been used for the enumeration at ~s

 

 

Error:   YANG_ERR_DUPLICATE_ENUM_VALUE

 

Message: the enum value "~s" has already been used for the enumeration at ~s

 

 

Error:   YANG_ERR_DUPLICATE_SCHEMA_NODE

 

Message: schema node '~s' already defined at ~s

 

 

Error:   YANG_ERR_DUPLICATE_UNIQUE_LEAF

 

Message: leaf ~s in the unique argument is given multiple times

 

 

Error:   YANG_ERR_ENUM_VALUE

 

Message: the enum value ~w is not a 32 bit integer

 

 

Error:   YANG_ERR_ILLEGAL_REFINE

 

Message: the statement '~s' cannot be refined in a '~s'

 

 

Error:   YANG_ERR_INVALID_CONFIG

 

Message: config true when the parent is config false

 

 

Error:   YANG_ERR_LEAFREF_NOT_LEAF

 

Message: the leafref refers to non-leaf and non-leaf-list node ~s at ~s

 

 

Error:   YANG_ERR_LEAFREF_NOT_LEAF0

 

Message: the leafref refers to non-leaf node ~s at ~s

 

 

Error:   YANG_ERR_LEAFREF_BAD_CONFIG

 

Message: the node is config, but refers to a non-config leaf ~s defined at ~s

 

 

Error:   YANG_ERR_MANDATORY_NODE_IN_AUGMENT

 

Message: augmenting a mandatory node is illegal

 

 

Error:   YANG_ERR_MANDATORY_NODE_IN_DEFAULT_CASE

 

Message: the default case cannot have mandatory nodes

 

 

Error:   YANG_ERR_MISSING_INCLUDE

 

Message: submodule '~s' not included by module '~s'

 

 

Error:   YANG_ERR_MISSING_TYPE_SPEC

 

Message: a type ~s must have at least one ~s statement

 

 

Error:   YANG_ERR_MISSING_TYPE_SPEC_1

 

Message: a type ~s must have a ~s statement

 

 

Error:   YANG_ERR_MODULENAME_MISMATCH

 

Message: expected module name '~s', got '~s'

 

 

Error:   YANG_ERR_MODULE_NOT_FOUND

 

Message: module '~s' not found

 

 

Error:   YANG_ERR_MODULE_REV_NOT_FOUND

 

Message: module '~s', revision '~s' not found

 

 

Error:   YANG_ERR_NEED_KEY

 

Message: the list needs at least one key

 

 

Error:   YANG_ERR_NODE_NOT_FOUND

 

Message: node ~s not found

 

 

Error:   YANG_ERR_NODE_NOT_FOUND2

 

Message: the node ~s from module '~s' is not found

 

 

Error:   YANG_ERR_NODE_NOT_FOUND3

 

Message: the node ~s from module '~s' (in node ~s from '~s') is not found

 

 

Error:   YANG_ERR_PREFIX_NOT_FOUND

 

Message: prefix '~s' not found

 

 

Error:   YANG_ERR_REFINE_NOT_FOUND

 

Message: the refinement node ~s is not found

 

 

Error:   YANG_ERR_REVISION_MISMATCH

 

Message: expected revision '~s', got '~s'

 

 

Warning: YANG_ERR_REVISION_ORDER

 

Message: the revision statements are not given in reverse chronological order

 

 

Error:   YANG_ERR_TOO_MANY_UP

 

Message: the path has too many '..'

 

 

Error:   YANG_ERR_TYPE_EMPTY_IN_KEY

 

Message: the key leaf '~s' cannot have type empty

 

 

Error:   YANG_ERR_TYPE_EMPTY_IN_LEAF_LIST

 

Message: a leaf-list cannot have type empty

 

 

Error:   YANG_ERR_TYPE_VALUE

 

Message: the value "~s" is not valid for the base type - ~s

 

 

Warning: YANG_ERR_UNIQUE_IS_KEY

 

Message: all keys in the list are redundantly present in the unique statement

 

 

Warning: YANG_ERR_KEY_HAS_DEFAULT

 

Message: the default value for a key leaf is ignored

 

 

Error:   YANG_ERR_XPATH

 

Message: XPath error: ~s

 

 

Error:   YANG_ERR_XPATH_FAIL

 

Message: The XPath expression will always fail

 

 

Error:   YANG_ERR_EXPECTED_DATA_DEF

 

Message: expected a data definition statement as child to '~s'

 

 

Error:   YANG_ERR_GRAMMAR_UNEXPECTED_KEYWORD

 

Message: ~s

 

 

Error:   YANG_ERR_PARSE_EXPECTED_QUOTED_STRING

 

Message: ~s

 

 

Error:   YANG_ERR_INTERNAL

 

Message: ~s

 

 

Error:   YANG_ERR_PARSE_FOPEN

 

Message: ~s

 

 

Error:   YANG_ERR_PARSE_INCOMPLETE_STATEMENT

 

Message: ~s

 

 

Error:   YANG_ERR_PARSE_EOF

 

Message: ~s

 

 

Error:   YANG_ERR_GRAMMAR_MISSING_ARGUMENT

 

Message: ~s

 

 

Error:   YANG_ERR_GRAMMAR_DUPLICATE_PREFIX

 

Message: ~s

 

 

Error:   YANG_ERR_MEMORY_ERROR

 

Message: ~s

 

 

Error:   YANG_ERR_GRAMMAR_BAD_ARGUMENT

 

Message: ~s

 

 

Error:   YANG_ERR_GRAMMAR_UNEXPECTED_ARGUMENT

 

Message: ~s

 

 

Error:   YANG_ERR_PARSE_TRAILING_GARBAGE

 

Message: ~s

 

 

Error:   YANG_ERR_GRAMMAR_UNDEFINED_PREFIX

 

Message: ~s

 

 

Error:   YANG_ERR_PARSE_EXPECTED_SEPARATOR

 

Message: ~s

 

 

Error:   YANG_ERR_GRAMMAR_EXPECTED_KEYWORD

 

Message: ~s

 

 

Error:   YANG_ERR_PARSE_EXPECTED_STRING

 

Message: ~s

 

 

Error:   YANG_ERR_GRAMMAR_KEYWORD_ALREADY_FOUND

 

Message: ~s

 

 

Error:   YANG_ERR_PARSE_BAD_KEYWORD

 

Message: ~s

 

 

Error:   dummy

 

Message: ~s

 

 

cisco@ubuntu:~/bbf/gfast/src/yang$

 

cisco@ubuntu:~/bbf/gfast/src/yang$

 

khgrant
Cisco Employee

 

Don,

 

I would recommend you as first step to check your yang files using pyang. That will check the yang models.

 

Roque

 

khgrant
Cisco Employee

 

Don,

 

I would recommend you as first step to check your yang files using pyang. That will check the yang models.

Roque

 

khgrant
Cisco Employee

 

 

> On Jan 21, 2016, at 23:23, Don Heidrich (dheidric) <dheidric@cisco.com> wrote:

 

>

 

> I tried the ncs --list-errors option and get the following. It seems there is a fundamental problem with the source Yang files – maybe a version issue?

 

>

 

 

>

 

> FYI,

 

>

 

> -Don

 

>

 

 

>

 

 

>

 

> cisco@ubuntu:~/bbf/gfast/src/yang$ /home/cisco/nso-4.1/bin/ncsc --verbose --list-errors --ncs-compile-bundleyang --ncs-device-dir ncsc-out --ncs-device-type netconf

 

>

 

> Error: TAILF_ANNOTATE_STMT_POS_NOT_FOUND

 

>

 

> Message: There are ~p ~p statements found, position ~p was given.

 

>

 

 

>

 

> Error: TAILF_ANNOTATE_STMT_NOT_FOUND

 

>

 

> Message: No ~p statements with the given argument is found.

 

>

 

 

>

 

> Error: TAILF_BAD_CALL_ONCE

 

>

 

> Message: call-once can only be used for lists

 

>

 

 

>

 

> Error: TAILF_BAD_COLUMN

 

>

 

> Message: ~s is not found in the list ~s.

 

>

 

 

>

 

> Warning: TAILF_BAD_COMBO

 

>

 

> Message: cannot have ~s and ~s (found at ~s) at the same time

 

>

 

 

>

 

> Error: TAILF_BAD_DEFAULT_REF

 

>

 

> Message: default-ref cannot be used on a leaf which ~s

 

>

 

 

>

 

> Error: TAILF_BAD_DISPLAY_HINT_TYPE

 

>

 

> Message: 'tailf:display-hint' can only be used for type 'binary' and integers.

 

>

 

 

>

 

> Error: TAILF_BAD_DISPLAY_HINT_SYNTAX

 

>

 

> Message: Syntax error in display-hint.

 

>

 

 

>

 

> Error: TAILF_BAD_INSTANCE_IDENTIFIER

 

>

 

> Message: ~s can only be used for type 'instance-identifier'.

 

>

 

 

>

 

> Error: TAILF_BAD_KEY

 

>

 

> Message: When ~s is given, the list must have exactly one integer-based key.

 

>

 

 

>

 

> Error: TAILF_BAD_KEY_DEFAULT

 

>

 

> Message: key-default can only be given to key leafs

 

>

 

 

>

 

> Error: TAILF_BAD_LEAFREF_TYPE

 

>

 

> Message: The leafref's target type '~s' is not the same as the given type '~s'.

 

>

 

 

>

 

> Error: TAILF_BAD_LINK

 

>

 

> Message: link from ~s cannot refer to a ~s

 

>

 

 

>

 

> Error: TAILF_BAD_SNMP_DELETE_VALUE

 

>

 

> Message: The snmp-delete-value cannot be a valid value according to the YANG type.

 

>

 

 

>

 

> Error: TAILF_BAD_SNMP_DELETE_VALUE_ENUM

 

>

 

> Message: The snmp-delete-value for an enumeration must be an unused integer.

 

>

 

 

>

 

> Error: TAILF_BAD_SORT_ORDER

 

>

 

> Message: sort-order cannot be used on ordered-by user lists

 

>

 

 

>

 

> Error: TAILF_BAD_STEP_TYPE

 

>

 

> Message: tailf:step is not supported for the base type.

 

>

 

 

>

 

> Error: TAILF_BAD_UNIQUE_LEAF_NODE

 

>

 

> Message: Node ~s is not a leaf.

 

>

 

 

>

 

> Error: TAILF_BAD_UNIQUE_SELECTOR_NODE

 

>

 

> Message: Node ~s is not a list.

 

>

 

 

>

 

> Error: TAILF_BAD_VALUE_LENGTH_TYPE

 

>

 

> Message: Restriction tailf:value-length is not valid for the base type.

 

>

 

 

>

 

> Error: TAILF_CDB_OPER_CALLPOINT

 

>

 

> Message: cdb-oper is not legal under a callpoint

 

>

 

 

>

 

> Error: TAILF_CDB_OPER_PERSISTENCE

 

>

 

> Message: cdb-oper cannot be persistent under a non-persistent node

 

>

 

 

>

 

> Error: TAILF_CDB_OPER_SECONDARY_INDEX

 

>

 

> Message: secondary-index is not legal in cdb-oper

 

>

 

 

>

 

> Error: TAILF_CLI_CONTAINER_MUST_BE_MODE

 

>

 

> Message: The container must have a tailf:cli-add-mode statement

 

>

 

 

>

 

> Error:   TAILF_DEFAULT_REF_NOT_LEAF

 

>

 

> Message: The default-ref refers to non-leaf node ~s at ~s

 

>

 

 

>

 

> Warning: TAILF_DEPENDENCY_MISMATCH

 

>

 

> Message: Given dependencies are not equal to calculated: ~s. Consider removing tailf:dependency statements.

 

>

 

 

>

 

> Error: TAILF_DUPLICATE_INDEX_LEAF

 

>

 

> Message: The leaf '~s' must not be listed more than once.

 

>

 

 

>

 

> Error: TAILF_EXPORT_AND_OTHER

 

>

 

> Message: export ~s must be used as the only export statement

 

>

 

 

>

 

> Error: TAILF_HOOK_ARG_LIST

 

>

 

> Message: A ~s of type object can only be set on lists

 

>

 

 

>

 

> Error: TAILF_INVALID_ANNOTATE

 

>

 

> Message: The statement ~s cannot be annotated into a ~s.

 

>

 

 

>

 

> Error: TAILF_MULTIPLE_DEFAULT_ORDER

 

>

 

> Message: A display-default-order statement is already given at ~s.

 

>

 

 

>

 

> Error: TAILF_MUST_BE_CONFIG

 

>

 

> Message: When ~s is given, the node must be config.

 

>

 

 

>

 

> Error: TAILF_MUST_BE_CONFIG_FALSE

 

>

 

> Message: When ~s is given, the node must not be config.

 

>

 

 

>

 

> Error: TAILF_MUST_BE_KEY

 

>

 

> Message: When ~s is given, the leaf must be a list key

 

>

 

 

>

 

> Error: TAILF_MUST_BE_OPTIONAL

 

>

 

> Message: When ~s is given, the leaf must not be mandatory or a list key.

 

>

 

 

>

 

> Warning: TAILF_MUST_FAIL

 

>

 

> Message: The 'must' expression will fail: ~s

 

>

 

 

>

 

> Warning: TAILF_MUST_NEED_DEPENDENCY

 

>

 

> Message: The 'must' expression should have a tailf:dependency. If is doesn't, it will be checked for every commit.

 

>

 

 

>

 

> Error: TAILF_NCS_BAD_SERVICE_USES

 

>

 

> Message: A service must use the grouping 'ncs:service-data'.

 

>

 

 

>

 

> Error: TAILF_NCS_NP_SERVICE

 

>

 

> Message: A service cannot be defined in a non-presence container.

 

>

 

 

>

 

> Error: TAILF_NEED_KEY_DEFAULT

 

>

 

> Message: needs a key-default since the key leaf at ~s has one

 

>

 

 

>

 

> Error: TAILF_NEED_ROW_STATUS

 

>

 

> Message: The ~s statement can only be given on lists with a tailf:snmp-row-status-column.

 

>

 

 

>

 

> Error: TAILF_NO_OID

 

>

 

> Message: ~s does not have an OID.

 

>

 

 

>

 

> Error: TAILF_NON_MANDATORY_INDEX_LEAF

 

>

 

> Message: secondary-index leaf '~s' must be mandatory.

 

>

 

 

>

 

> Error: TAILF_NOT_IN_LINK

 

>

 

> Message: ~s is not allowed in tailf:link.

 

>

 

 

>

 

> Error:   TAILF_TOP_LEVEL_CHOICE

 

>

 

> Message: cannot handle top-level choice.

 

>

 

 

>

 

> Error: TAILF_UNKNOWN_INDEX_LEAF

 

>

 

> Message: secondary-index leaf '~s' not found.

 

>

 

 

>

 

> Error: TAILF_UNSUPPORTED_BIT_POSITION

 

>

 

> Message: Cannot convert bits with positions above 63.

 

>

 

 

>

 

> Warning: TAILF_VALIDATE_NEED_DEPENDENCY

 

>

 

> Message: The 'tailf:validate' expression should have a tailf:dependency. If it doesn't, the function is called for every commit.

 

>

 

 

>

 

> Error: TAILF_WHEN_NEED_DEPENDENCY

 

>

 

> Message: The 'when' expression must have a tailf:dependency.

 

>

 

 

>

 

> Error: TAILF_BAD_ID_VALUE

 

>

 

> Message: The id-value ~p is out of range, must be 1 .. 4294967294.

 

>

 

 

>

 

> Error: TAILF_BAD_CLI_STRING

 

>

 

> Message: Invalid quoting in cli string.

 

>

 

 

>

 

> Error: TAILF_BAD_HASH

 

>

 

> Message: The ~s '~s' has been assigned the invalid value ~p. Use tailf:id-value to assign a different value.

 

>

 

 

>

 

> Error: TAILF_HASH_VALUE_CONFLICT

 

>

 

> Message: The ~s '~s' and the ~s '~s' (at ~s) have been assigned the same value. Use tailf:id-value to resolve the issue.

 

>

 

 

>

 

> Error: TAILF_HASH_NAME_CONFLICT

 

>

 

> Message: The ~s '~s' and the ~s '~s' (at ~s) have been assigned different values. When tailf:id-value is used, the same value must b

 

>

 

> e assigned to all identifiers with the same name.

 

>

 

 

>

 

> Error: TAILF_CODE_NAME_CONFLICT

 

>

 

> Message: The ~s '~s' and the ~s '~s' (at ~s) have been assigned different code-names. When tailf:code-name is used, the same code-na

 

>

 

> me must be assigned to all identifiers with the same name.

 

>

 

 

>

 

> Error: SMIv2_ERR_SUBID

 

>

 

> Message: smiv2:subid needs a parent with an smiv2:oid or smiv2:subid

 

>

 

 

>

 

> Error: SMIv2_ERR_DUPLICATE_OID

 

>

 

> Message: OID ~s already defined at ~s

 

>

 

 

>

 

> Error: SMIv2_ERR_SUBID_AND_OID

 

>

 

> Message: smiv2:subid and smiv2:oid cannot be given at the same time

 

>

 

 

>

 

> Error: YANG_ERR_BAD_ARGUMENT

 

>

 

> Message: bad argument value "~s", should be of type ~s

 

>

 

 

>

 

> Error: YANG_ERR_BAD_ARGUMENT2

 

>

 

> Message: bad argument value "~s": ~s

 

>

 

 

>

 

> Error: YANG_ERR_BAD_AUGMENT_NODE_TYPE

 

>

 

> Message: cannot augment ~s node ~s

 

>

 

 

>

 

> Error: YANG_ERR_BAD_AUGMENT_NODE_TYPE2

 

>

 

> Message: cannot augment a ~s into the ~s node ~s

 

>

 

 

>

 

> Error: YANG_ERR_BAD_BELONGS_TO

 

>

 

> Message: '~s' includes '~s', but it does not specifiy a correct belongs-to

 

>

 

 

>

 

> Error: YANG_ERR_BAD_DEFAULT_VALUE

 

>

 

> Message: the type "~s" cannot have a default value

 

>

 

 

>

 

> Error: YANG_ERR_BAD_IMPORT

 

>

 

> Message: expected module, found submodule at ~s

 

>

 

 

>

 

> Error: YANG_ERR_BAD_INCLUDE

 

>

 

> Message: expected submodule, found module at ~s

 

>

 

 

>

 

> Error: YANG_ERR_BAD_KEY

 

>

 

> Message: the key ~s does not reference an existing leaf

 

>

 

 

>

 

> Error: YANG_ERR_BAD_LENGTH

 

>

 

> Message: the length range "~s" is not valid for the base type

 

>

 

 

>

 

> Error: YANG_ERR_BAD_LENGTH_BOUNDS

 

>

 

> Message: the length value ~s is not larger than ~s

 

>

 

 

>

 

> Error: YANG_ERR_BAD_LENGTH_VALUE

 

>

 

> Message: the length value ~s is not valid for the base type

 

>

 

 

>

 

> Error: YANG_ERR_BAD_PATTERN

 

>

 

> Message: invalid pattern: "~s"

 

>

 

 

>

 

> Error: YANG_ERR_BAD_RANGE

 

>

 

> Message: the range "~s" is not valid for the base type

 

>

 

 

>

 

> Error: YANG_ERR_BAD_RANGE_BOUNDS

 

>

 

> Message: the range value ~s is not larger than ~s

 

>

 

 

>

 

> Error: YANG_ERR_BAD_RANGE_VALUE

 

>

 

> Message: the range value ~s is not valid for the base type

 

>

 

 

>

 

> Error: YANG_ERR_BAD_REFINE

 

>

 

> Message: the statement '~s' cannot be refined

 

>

 

 

>

 

> Error: YANG_ERR_BAD_RESTRICTION

 

>

 

> Message: restriction '~s' is not valid for the base type

 

>

 

 

>

 

> Error: YANG_ERR_BAD_TYPE_IN_UNION

 

>

 

> Message: the type ~s (defined at ~s) cannot be part of a union

 

>

 

 

>

 

> Error: YANG_ERR_BAD_UNIQUE_CONFIG

 

>

 

> Message: some nodes in the unique argument are config and some are not

 

>

 

 

>

 

> Error: YANG_ERR_BAD_UNIQUE_LEAF

 

>

 

> Message: node ~s in the unique argument is not a leaf

 

>

 

 

>

 

> Error: YANG_ERR_BAD_UNIQUE_PART

 

>

 

> Message: node '~s' in the unique argument is a ~s; this is not legal

 

>

 

 

>

 

> Error: YANG_ERR_BIT_POSITION

 

>

 

> Message: the position ~w is not an unsigned 32 bit integer

 

>

 

 

>

 

> Error: YANG_ERR_CIRCULAR_DEPENDENCY

 

>

 

> Message: circular dependency for ~s '~s'

 

>

 

 

>

 

> Error: YANG_ERR_DEFAULT_AND_MANDATORY

 

>

 

> Message: a 'default' value cannot be given when 'mandatory' is "true"

 

>

 

 

>

 

> Error: YANG_ERR_DEFAULT_CASE_NOT_FOUND

 

>

 

> Message: the default case "~s" is not found

 

>

 

 

>

 

> Error: YANG_ERR_DEFINITION_NOT_FOUND

 

>

 

> Message: ~s ~s not found

 

>

 

 

>

 

> Error: YANG_ERR_DUPLICATE_BIT_NAME

 

>

 

> Message: the bit name "~s" has already been used for the bits type at ~s

 

>

 

 

>

 

> Error: YANG_ERR_DUPLICATE_BIT_POSITION

 

>

 

> Message: the position "~s" has already been used for the bits type at ~s

 

>

 

 

>

 

> Error: YANG_ERR_DUPLICATE_DEFINITION

 

>

 

> Message: ~s '~s' already defined at ~s

 

>

 

 

>

 

> Error: YANG_ERR_DUPLICATE_ENUM_NAME

 

>

 

> Message: the enum name "~s" has already been used for the enumeration at ~s

 

>

 

 

>

 

> Error: YANG_ERR_DUPLICATE_ENUM_VALUE

 

>

 

> Message: the enum value "~s" has already been used for the enumeration at ~s

 

>

 

 

>

 

> Error: YANG_ERR_DUPLICATE_SCHEMA_NODE

 

>

 

> Message: schema node '~s' already defined at ~s

 

>

 

 

>

 

> Error: YANG_ERR_DUPLICATE_UNIQUE_LEAF

 

>

 

> Message: leaf ~s in the unique argument is given multiple times

 

>

 

 

>

 

> Error: YANG_ERR_ENUM_VALUE

 

>

 

> Message: the enum value ~w is not a 32 bit integer

 

>

 

 

>

 

> Error: YANG_ERR_ILLEGAL_REFINE

 

>

 

> Message: the statement '~s' cannot be refined in a '~s'

 

>

 

 

>

 

> Error: YANG_ERR_INVALID_CONFIG

 

>

 

> Message: config true when the parent is config false

 

>

 

 

>

 

> Error: YANG_ERR_LEAFREF_NOT_LEAF

 

>

 

> Message: the leafref refers to non-leaf and non-leaf-list node ~s at ~s

 

>

 

 

>

 

> Error: YANG_ERR_LEAFREF_NOT_LEAF0

 

>

 

> Message: the leafref refers to non-leaf node ~s at ~s

 

>

 

 

>

 

> Error:   YANG_ERR_LEAFREF_BAD_CONFIG

 

>

 

> Message: the node is config, but refers to a non-config leaf ~s defined at ~s

 

>

 

 

>

 

> Error: YANG_ERR_MANDATORY_NODE_IN_AUGMENT

 

>

 

> Message: augmenting a mandatory node is illegal

 

>

 

 

>

 

> Error: YANG_ERR_MANDATORY_NODE_IN_DEFAULT_CASE

 

>

 

> Message: the default case cannot have mandatory nodes

 

>

 

 

>

 

> Error: YANG_ERR_MISSING_INCLUDE

 

>

 

> Message: submodule '~s' not included by module '~s'

 

>

 

 

>

 

> Error: YANG_ERR_MISSING_TYPE_SPEC

 

>

 

> Message: a type ~s must have at least one ~s statement

 

>

 

 

>

 

> Error: YANG_ERR_MISSING_TYPE_SPEC_1

 

>

 

> Message: a type ~s must have a ~s statement

 

>

 

 

>

 

> Error: YANG_ERR_MODULENAME_MISMATCH

 

>

 

> Message: expected module name '~s', got '~s'

 

>

 

 

>

 

> Error: YANG_ERR_MODULE_NOT_FOUND

 

>

 

> Message: module '~s' not found

 

>

 

 

>

 

> Error: YANG_ERR_MODULE_REV_NOT_FOUND

 

>

 

> Message: module '~s', revision '~s' not found

 

>

 

 

>

 

> Error:   YANG_ERR_NEED_KEY

 

>

 

> Message: the list needs at least one key

 

>

 

 

>

 

> Error: YANG_ERR_NODE_NOT_FOUND

 

>

 

> Message: node ~s not found

 

>

 

 

>

 

> Error: YANG_ERR_NODE_NOT_FOUND2

 

>

 

> Message: the node ~s from module '~s' is not found

 

>

 

 

>

 

> Error: YANG_ERR_NODE_NOT_FOUND3

 

>

 

> Message: the node ~s from module '~s' (in node ~s from '~s') is not found

 

>

 

 

>

 

> Error: YANG_ERR_PREFIX_NOT_FOUND

 

>

 

> Message: prefix '~s' not found

 

>

 

 

>

 

> Error: YANG_ERR_REFINE_NOT_FOUND

 

>

 

> Message: the refinement node ~s is not found

 

>

 

 

>

 

> Error: YANG_ERR_REVISION_MISMATCH

 

>

 

> Message: expected revision '~s', got '~s'

 

>

 

 

>

 

> Warning: YANG_ERR_REVISION_ORDER

 

>

 

> Message: the revision statements are not given in reverse chronological order

 

>

 

 

>

 

> Error: YANG_ERR_TOO_MANY_UP

 

>

 

> Message: the path has too many '..'

 

>

 

 

>

 

> Error: YANG_ERR_TYPE_EMPTY_IN_KEY

 

>

 

> Message: the key leaf '~s' cannot have type empty

 

>

 

 

>

 

> Error: YANG_ERR_TYPE_EMPTY_IN_LEAF_LIST

 

>

 

> Message: a leaf-list cannot have type empty

 

>

 

 

>

 

> Error: YANG_ERR_TYPE_VALUE

 

>

 

> Message: the value "~s" is not valid for the base type - ~s

 

>

 

 

>

 

> Warning: YANG_ERR_UNIQUE_IS_KEY

 

>

 

> Message: all keys in the list are redundantly present in the unique statement

 

>

 

 

>

 

> Warning: YANG_ERR_KEY_HAS_DEFAULT

 

>

 

> Message: the default value for a key leaf is ignored

 

>

 

 

>

 

> Error: YANG_ERR_XPATH

 

>

 

> Message: XPath error: ~s

 

>

 

 

>

 

> Error: YANG_ERR_XPATH_FAIL

 

>

 

> Message: The XPath expression will always fail

 

>

 

 

>

 

> Error: YANG_ERR_EXPECTED_DATA_DEF

 

>

 

> Message: expected a data definition statement as child to '~s'

 

>

 

 

>

 

> Error: YANG_ERR_GRAMMAR_UNEXPECTED_KEYWORD

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_PARSE_EXPECTED_QUOTED_STRING

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_INTERNAL

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_PARSE_FOPEN

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_PARSE_INCOMPLETE_STATEMENT

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_PARSE_EOF

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_GRAMMAR_MISSING_ARGUMENT

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_GRAMMAR_DUPLICATE_PREFIX

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_MEMORY_ERROR

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_GRAMMAR_BAD_ARGUMENT

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_GRAMMAR_UNEXPECTED_ARGUMENT

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_PARSE_TRAILING_GARBAGE

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_GRAMMAR_UNDEFINED_PREFIX

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_PARSE_EXPECTED_SEPARATOR

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_GRAMMAR_EXPECTED_KEYWORD

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_PARSE_EXPECTED_STRING

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_GRAMMAR_KEYWORD_ALREADY_FOUND

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error: YANG_ERR_PARSE_BAD_KEYWORD

 

>

 

> Message: ~s

 

>

 

 

>

 

> Error:   dummy

 

>

 

> Message: ~s

 

>

 

 

>

 

> cisco@ubuntu:~/bbf/gfast/src/yang$

 

>

 

> cisco@ubuntu:~/bbf/gfast/src/yang$

 

>

 

 

>

 

 

>

 

 

>

 

> From: Don Heidrich (dheidric)

 

> Sent: Thursday, January 21, 2016 4:48 PM

 

> To: service_orchestration(mailer list)

 

> Subject: Help Debugging NetConf NED Build

 

>

 

 

>

 

> Hi folks,

 

>

 

 

>

 

> I’m attempting to create a NetConf NED from the Yang models for Broad Band Forum G.Fast (BBF WT-355) however I get a cryptic error on the build. Any hints on how to debug further would be appreciated.

 

>

 

 

>

 

 

>

 

> I used the Yang files and ‘ ncs-make-package   --netconf-ned /path/to/yangfiles gfast ’ to package, and resolved references to ietf and iana imports.

 

>

 

 

>

 

> ‘ make clean ‘ is successful.

 

>

 

 

>

 

> ‘ make all ‘ results in:

 

>

 

 

>

 

> cisco@ubuntu:~/bbf/gfast/src$ make all

 

>

 

> /home/cisco/nso-4.1/bin/ncsc --ncs-compile-bundle yang \

 

>

 

> --ncs-device-dir ncsc-out   \

 

>

 

> --ncs-device-type netconf && \

 

>

 

>         cp ncsc-out/modules/fxs/*.fxs ../load-dir;

 

>

 

> internal error

 

>

 

> make: *** [ncsc-out/.done] Error 1

 

>

 

> cisco@ubuntu:~/bbf/gfast/src$

 

>

 

 

>

 

 

>

 

 

>

 

> Digging a little deeper into ncsc:

 

>

 

 

>

 

> cisco@ubuntu:~/bbf/gfast/src$ /home/cisco/nso-4.1/bin/ncsc --verbose --ncs-compile-bundle yang --ncs-device-dir ncsc-out --ncs-device-type netconf

 

>

 

> /home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yang yang/bbf-fast-vectoring-profile-body.yang -o augmented/bbf-fast-vectoring-profile-body.yang

 

>

 

> /home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yang yang/bbf-fast-upstream-power-back-off-profile-body.yang -o augmented/bbf-fast-upstream-power-back-off-profile-body.yang

 

>

 

> /home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yangtest-body.yang -o augmented/bbf-fast-update-test-body.yang

 

>

 

> /home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yang yang/bbf-fast-threshold-management.yang -o augmented/bbf-fast-threshold-management.yang

 

>

 

> /home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yangmode-body.yang -o augmented/bbf-fast-test-mode-body.yang

 

>

 

> /home/cisco/nso-4.1/bin/yanger -p yang:/home/cisco/nso-4.1/src/ncs/yang -t ncs -f yangdiagnostics.yang -o augmented/bbf-fast-test-diagnostics.yang

 

>

 

> internal error

 

>

 

> cisco@ubuntu:~/bbf/gfast/src$

 

>

 

 

>

 

 

>

 

> Where should I look now?

 

>

 

 

>

 

> Thanks!

 

>

 

> -Don

 

 

Sebastian Strollo / sstrollo@cisco.com

 

Tail-f is now part of Cisco / www.tail-f.com

 

khgrant
Cisco Employee

 

Hi

 

Whenever you see the magic word "internal error" in NSO you have encountered a bug (sometimes the bug is just that a proper error message is missing). If it is an existing customer running into this, please have them report it using their RT account. If you get an internal error while "trying things out" you need to:

 

  1. Try whatever it is that produces "internal error" with the latest version of NSO you can get hold of (to make sure that the bug isn't already fixed).

 

  2. If it still fails then please make an example as small as possible, tar it up with instructions on how to reproduce (exact steps) and the version of NSO on which it is failing and post it here on the list (for example as a box link to your tar file) and hopefully someone here at Tail-f has time to pick it up. (We are always interested in fixing bugs, however we are not staffed enough to detangle each and every issue - so the more work you can spend on making it easy to reproduce the better!)

 

Getting back to your specific case Don:

 

* The "--list-errors" option means just that "list all the errors that the compiler can produce".

 

* As to Roques suggestion, you can actually use the new NSO compiler "yanger" to verify the YANG files themselves (e.g. "yanger -f yang <yang-module-file>")

 

However I suspect that there is a bug in the compiler, so if you have tried it with NSO 4.1 and it still fails, tar your YANG files up and post them here.

 

 

Thanks,

 

/Sebastian

 

khgrant
Cisco Employee

 

Thanks to all for the suggestions.

 

 

Yanger revealed that there was an additional dependency not indicated by the compile attempts. (An import in an imported module.) The dependency was satisfied but I still see the same 'internal error' upon compile.

 

 

I've put the files on Box. There is a zip with the entire package from the BBF site including a bit of documentation. The tar is a subset which holds all(?) the yang modules I used in the compile attempt. As this is my first effort to create a NetConf NED it is entirely possible I'm not doing this correctly.

 

 

https://cisco.box.com/s/b8temw3vcjaevz39i9vgmgb88d35zffy

 

 

Thanks again for the interest and support!

 

-Don

 

khgrant
Cisco Employee

 

I should have mentioned that I'm running 4.1.

 

-D

 

khgrant
Cisco Employee

 

Hi,

 

 

Hm, the description in bbf-fast.yang says:

 

 

    "An experimental YANG module supporting Vector of Profiles

 

     for FAST lines.";

 

 

Do you actually have a device that implements this, and speaks netconf?

 

Anyway, building this needs quite a bit of "manual intervention".

 

 

First and foremost, the "internal error" crash is due to a bug in the current "ncs plugin" (i.e. the thing that turns the device models into augmentations of /devices/device) - it doesn't handle augmentations done in YANG submodules right (and there are *many* of those here). It will be fixed of course, but for the time being it can be worked around by using an earlier version of that plugin, by setting an environment variable USE_YANGER_NCS to "false" (this should not be taken as any kind of general advice though, doing it can cause other problems).

 

 

Then, there is a module ietf-entity.yang which has "yang-version 1.1", and the YANG compiler in NSO doesn't support YANG 1.1 yet (the spec is actually not even finalized) - so you need to take it out. It is in turned used by iana-entity.yang, so you need to take that one out too.

 

 

Furthermore, the module ietf-netconf-monitoring.yang is implemented internally in NSO, and NSO currently can't handle the same module being "in two places" (i.e. in its "standard" place *and* augmented under

 

/devices/device) - so you need to take that one out too.

 

 

Finally, there are some standard modules for type definitions that are also implemented internally by NSO - this *shouldn't* be a problem, but it's pointless to have them duplicated in the device model, and to avoid any issues it's best to also take those out.

 

 

So, in summary:

 

 

  ncs-make-package --netconf-ned FAST gfast

 

  cd gfast/src/yang

 

  rm ietf-entity.yang iana-entity.yang

 

  rm ietf-netconf-monitoring.yang

 

  rm ietf-inet-types.yang ietf-yang-types.yang ietf-yang-types@2010-09-24.yang

 

  cd ..

 

USE_YANGER_NCS=false make

 

 

This at least compiles, I haven't tried using the result...

 

 

--Per

 

khgrant
Cisco Employee

 

WOW - thanks Per!

 

 

I had isolated the augment issue and sent that to tech@. The other items are very interesting and helpful. I'll give it a try and see where we go from here. And unfortunately it's yet unclear whether we have a device to test against. There may some kind of sim, I'll try to find out.

 

 

THANKS AGAIN!

 

-Don

 

Create
Recognize Your Peers
Content for Community-Ad