ydk-gen: ydk-gen cannot generate cpp api if the yang version is 1.1 (for which pyang 1.7.5 is needed)

Issue tracker is ONLY used for reporting bugs. Please use the YDK Community for any support issues.

Expected Behavior

I was expecting to be able to generate new apis using updated ietfs models which uses yang v1.1.

Current Behavior

supporting v1.1 of yang models forces me to update pyang to the 1.7.5 version which provokes this failure.

Steps to Reproduce

./generate.py --cpp --bundle profiles/bundles/ietf_0_1_5.json 

Logs

Enable logging and post the logs below

./generate.py --cpp --bundle profiles/bundles/ietf_0_1_5.json 
Traceback (most recent call last):
  File "./generate.py", line 468, in <module>
    output_directory = (generator.generate(options.bundle))
  File "/home/cuda1/git/ydk-gen/ydkgen/__init__.py", line 89, in generate
    return self._generate_bundle(description_file)
  File "/home/cuda1/git/ydk-gen/ydkgen/__init__.py", line 115, in _generate_bundle
    packages = self._get_packages(curr_bundle)
  File "/home/cuda1/git/ydk-gen/ydkgen/__init__.py", line 161, in _get_packages
    packages = ApiModelBuilder(self.iskeyword, self.language, bundle.name).generate(modules)
  File "/home/cuda1/git/ydk-gen/ydkgen/builder/_api_model_builder.py", line 77, in generate
    self._resolve_expanded_cross_references(package)
  File "/home/cuda1/git/ydk-gen/ydkgen/builder/_api_model_builder.py", line 154, in _resolve_expanded_cross_references
    self._resolve_expanded_cross_references(owned_element)
  File "/home/cuda1/git/ydk-gen/ydkgen/builder/_api_model_builder.py", line 154, in _resolve_expanded_cross_references
    self._resolve_expanded_cross_references(owned_element)
  File "/home/cuda1/git/ydk-gen/ydkgen/builder/_api_model_builder.py", line 154, in _resolve_expanded_cross_references
    self._resolve_expanded_cross_references(owned_element)
  File "/home/cuda1/git/ydk-gen/ydkgen/builder/_api_model_builder.py", line 138, in _resolve_expanded_cross_references
    if not hasattr(identity_ref_type.i_type_spec.base.i_identity, 'i_class'):
AttributeError: 'NoneType' object has no attribute 'i_identity'

System Information

pyang 1.7.5 python v3.4 Linux openSuse 42.3 Leap

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 15

Most upvoted comments

Yes. It is in the roadmap. It may take some time