Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version numbers in bundle resolver to comply with PEP 440 #1007

Closed
wants to merge 1 commit into from
Closed

Version numbers in bundle resolver to comply with PEP 440 #1007

wants to merge 1 commit into from

Conversation

valeriodigregorio
Copy link

@valeriodigregorio valeriodigregorio commented Jul 6, 2020

YDK-gen tag 0.8.4 produces this error:

./generate.py -v --python --bundle /tmp/tmpc6kf25w3/ydk-models-wireless.json
YDKGEN_HOME not set. Assuming current directory is working directory.
Bundle Translator: Cloning from https://github.com/YangModels/yang.git --> /tmp/tmpaqaxfqew.yang
Bundle Translator: Removing folder /tmp/tmpaqaxfqew.yang
Resolving file tmp3f57l_6d.bundle --> /nobackup/pyats/projects/ydk-gen/gen-api/.cache/bundles
Traceback (most recent call last):
  File "./generate.py", line 492, in <module>
    output_directory = (generator.generate(options.bundle))
  File "/nobackup/pyats/projects/ydk-gen/ydkgen/__init__.py", line 93, in generate
    return self._generate_bundle(description_file)
  File "/nobackup/pyats/projects/ydk-gen/ydkgen/__init__.py", line 123, in _generate_bundle
    curr_bundle, all_bundles = resolver.resolve(tmp_file)
  File "/nobackup/pyats/projects/ydk-gen/ydkgen/resolver/bundle_resolver.py", line 304, in resolve
    root = Bundle(bundle_file, self.cached_models_dir, self.iskeyword)
  File "/nobackup/pyats/projects/ydk-gen/ydkgen/resolver/bundle_resolver.py", line 232, in __init__
    super().__init__(data['bundle'])
  File "/nobackup/pyats/projects/ydk-gen/ydkgen/resolver/bundle_resolver.py", line 84, in __init__
    self._version = Version(*tuple(data['version'].split('.')))
TypeError: __new__() takes 4 positional arguments but 5 were given

/tmp/tmpc6kf25w3/ydk-models-wireless.json was:

{
  "author": "Cisco",
  "copyright": "Cisco",
  "description": "YDK bundle for wireless testing",
  "models": {
    "file": [
      "/absolute_path/Cisco-IOS-XE-wireless-enum-types.yang",
      "/absolute_path/Cisco-IOS-XE-wireless-types.yang",
      "/absolute_path/Cisco-IOS-XE-wireless-wlan-cfg.yang",
      "/absolute_path/cisco-semver.yang"
    ],
    "git": [
      {
        "commits": [
          {
            "file": [
              "standard/ietf/RFC/ietf-inet-types.yang",
              "standard/ietf/RFC/ietf-yang-types.yang"
            ]
          }
        ],
        "url": "https://github.com/YangModels/yang.git"
      }
    ]
  },
  "name": "wireless",
  "version": "17.4.0.20200623001943"
}

I tested this with pep440.is_canonical() and it tells me it's well formed. Same error with the followings:

17.4.0.dev20200702092331
17.4.0.post20200702092331
0.1.5.post1

So looking at PEP 440 format should be:

[N!]N(.N)*[{a|b|rc}N][.postN][.devN]

and I believe there's an error on how the release segment "N(.N)*" is parsed.

ygorelik added a commit to ygorelik/ydk-gen that referenced this pull request Jan 11, 2021
ygorelik added a commit to ygorelik/ydk-gen that referenced this pull request Jan 11, 2021
@ygorelik ygorelik closed this Feb 27, 2022
shmuelnatan added a commit to siklu/ydk-gen that referenced this pull request Jul 12, 2022
* Fixed bug in extracting module name from namespace

* Added distribution packages in GitHub

* Added distribution packages for Ubuntu/xenial on GitHub

* Added distribution packages for Centos to GitHub

* Added distributables for darwin to GitHub

* In Entity class Added method to clone current entity instance

* In Entity class Added method to clone current entity instance

* Added shortcut operator to set yfilter value in YLeaf and YLeafList instances

* Fixing Travis test for gNMI

* Implemented Entity clone in Go (enh. CiscoDevNet#967)

* Fixing Travis test

* Resolved issue CiscoDevNet#968

* Addressed few Codacy issues

* Addressed documentation issue CiscoDevNet#971

* Fixed bug in gNMI set RPC processing

* Corrected documentation of YDK raised exceptions

* Resolved issue CiscoDevNet#978, implemented enhancement 894

* Resolved issue CiscoDevNet#980

* Fixing Travis test for MacOSX

* Resolved GitHub issue CiscoDevNet#983

* Updated bundle for XR-6.6.2 (post1)

* Upgraded GitPython package to version 2.1.15 due to Travis failure

* Upgraded openconfig bundle to version dated 2019-06-21

* Resolved github issue CiscoDevNet#996

* Resolved github issue CiscoDevNet#996

* Corrected error message

* Fixed bug in previous commit

* Fixed GitHub issue CiscoDevNet#997

* Resolved GitHub issue CiscoDevNet#969

* Bumped version to 0.8.5

* Initial development of install_ydk script

* Made corrections for Travis run

* Fixing Travis run

* Adjusted YDK installation script for CentOS

* Added support for ubuntu:focal (20.04 LTS)

* Added deployment packages for ubuntu:xenial

* Fixing Travis run for xenial

* Corrected Dockerfile to include golang packages

* Bumped YDK version to 0.8.5

* Added documentation for missing 'initialize' method

* Added unit test for XmlSubtreeCodec on user defined repository

* Adressed some issues related to installation on CentOS

* Added deployment core packages for CentOS-7

* Added disclaimer on 0.8.5 modified files

* Corrected debug statement

* Added test cases for reading on single container

* Corrected license comment

* Resolved GitHub issues CiscoDevNet#1003, CiscoDevNet#1005, CiscoDevNet#1006

* Updated YDK core deployment packages for Ubuntu xenial and bionic

* Updated YDK core and gNMI libraries for CentOS-7

* Update CONTRIBUTIONS.md with license details

* Update .gitignore

* Added YDK core and gNMI deployment packages for OSX

* Added new options in install_ydk script

* Update YDK version for XR 6.6.3 bundle

* Added C++ test cases for path::Codec with no service provider

* Added use case for deleting entire list

* Added capability for Restconf to work with HTTPS protocol (initial commit)

* Some documentation changes for YDK-0.8.5

* Partially addressed issue CiscoDevNet#917 (HTTPS support for Restconf)

* Resolved GitHub issues CiscoDevNet#1012 ans CiscoDevNet#1013

* Corrected documentation pertaining release 0.8.5

* Removed binary artifacts

* Fixing Travis test

* Fixing Travis test

* Changed bundle backward compatibility test to YDK-0.7.3

* Fixing bundle backward compatibility test

* Enabled Travis test on CentOS-7 docker

* Restored artifacts to 0.8.5

* Lowered version of go testify version

* Lowered version of go testify version

* Updated artifacts for OSX

* Updated artifacts for ubuntu:xenial

* Updated artifacts for CentOS-7

* Update travis testing for Ubuntu

Re-enable Python3 testing for Ubuntu Xenial.

* Fixed few bugs in C++ code

* Resolved issue CiscoDevNet#1021

* added github based online documentation

* Added support for Centos 8 CiscoDevNet#1019

* Resolved issue CiscoDevNet#1024

* Added support for Centos 8 CiscoDevNet#1019

* Fixing Travis test for Centos 8

* Fixing Travis test for Centos 8

* Fixing Travis test for Centos 8

* Fixing Travis test for Centos 8

* Fixing Travis test for Centos 8

* Added support for Ubuntu:focal

* Fixing Travis test for Ubuntu:focal

* Fixing Travis tests for ubuntu:focal

* Fixing Travis tests for ubuntu:focal

* Fixing Travis test for ubuntu:focal

* Fixing Travis test for ubuntu:focal

* Fixing Travis test for ubuntu:focal

* Fixing Travis test for ubuntu:focal

* Fixing Travis test for ubuntu:focal

* Improving unit tests for Mac OS Mojave

* Improving unit tests for Mac OS Mojave

* Added unit test for issue CiscoDevNet#1026

* Added test case after fixing CiscoDevNet#1026 in Libyang

* Corrected YDK service classes initialization issue for python

* Resolved issues CiscoDevNet#1026 and CiscoDevNet#1032

* Updated 0.8.5 documentation

* Resolved issue CiscoDevNet#1036

* Resolved issue CiscoDevNet#1035

* Correcting Travis tests

* Fixing deviation tests

* Fixed confd setting for deviation tests

* Addressed memory leak issue in Executor Service unit tests

* Implemented enhancement CiscoDevNet#1007

* Bumped version to 0.8.5.post1

* Additional code changes for enhancement CiscoDevNet#1007

* Added installation of flex and bison for CentOS platform

* Inforced use of pybind11 v2.2.2

* Corrected test scripts to work with confd version 7.3

* Improved test scripts

* Fixed bug in the bundle generator

* Fixed decoding of leaf-list in XMLSubtreeCodec

* Bumped build version to 2

* Added unit test case for issue CiscoDevNet#1045

* Corrected installation of curl and libcurl for ubuntu:focal

* Corrected documentation for release 0.8.5.2

* Corrected documentation for release 0.8.5.2

* Resolved issue CiscoDevNet#1049

* Fixed memory leak issue

* Added unit test for issue CiscoDevNet#635

* Fixing issue 053

* Created Go wrapper for NetconfSession, added Path API unit tests, CiscoDevNet#779

* Created Go wrappdded Path API unit tests, CiscoDevNet#779

* Resolved GitHub issue CiscoDevNet#1053

* Enabled all CRUD tests related to deleting of list and leaf-list

* Added unit tests and documentation for Path API in Go

* Bumped version to 0.8.5.3 (0.8.5.post3 for python)

* Generated docs. Changed Puthon package version to 0.8.5.3.

* Corrected Copyright statement

* Added support for RestconfSession in Go

* Added C++ documentation related to resolution of enhancement CiscoDevNet#779

* Corrected documentation related to enhancement CiscoDevNet#779

* Upgraded pyang version to 2.5.0

* Upgraded pyang version to 2.5.0

* Dropped Python2 support in the code

* Dropped Python2 support in the code (2)

* Added bundle profiles to support newer versions of IETF OpenConfig and Cisco IOS XR models

* Added bundle profiles for IOS XR version 7.0.1 and 7.0.2

* Added bundle profiles for IOS XR version 7.0.1 and 7.0.2

* Added SSH support for NetconfServiceProvider in Go

* Added SSH support for NetconfServiceProvider in Go

* Added explicit setting of OnDemand flag in NetconfServiceProvider

* Fixed setting of OnDemand flag in NetconfSession in Go

* Solves nil pointer dereference

When calling (NetconfServiceProvider).GetConfig with an empty EntityCollection panics cause of a nil pointer dereference. Adding these if-guards seems to solve the problem.

* Updated release documentation

* Bumped version to 0.8.6

* Implements requested changes

* Update types.go

Corrected suggested code changes.

* Bumped version to 0.8.6.2

* Improving installation script

* Improved installation script to allow use Python system installation

* Fixed few profiles for ietf and cisco-ios-xr bundles

* Fixed few profiles for ietf and cisco-ios-xr bundles

* Reverted version to 0.8.6

* Reverted changes to comply with Python 3.5 syntax

* Restored damaged ydktest profile

* Cleaned up older profiles

* Changed script parameter '--no-py-venv' to '--no-venv'

* Fixed unit test script

* Resolved issue CiscoDevNet#1034

* Corrected documentation after fixing issue CiscoDevNet#1034

* Corrected unit tests for CiscoDevNet#1047 and CiscoDevNet#1048

* Corrected YDK core version requirement

* Corrected YDK core version to 0.8.6.2

* Addressed segmentation fault error

* Corrected Codecy issues

* Minor doc corrections

* Made adjustments for installation on mac osx 11.6

* Added YDK demo. Mentioned added support for MacOS Big Sur

* Provided patch to ensure definition of constant SIGSTKSZ

* Patched catch.hpp for Linux distributions that do not define SIGSTKSZ

* Addressing GitHub issue CiscoDevNet#1059

* Addressing GitHub issue CiscoDevNet#1059

* added demo profile and bundles for Cisco IOS XR

* Fixed unit test in Go for the issue 1059

* Renewed documentation for release 0.8.6.2

* Resolved issue CiscoDevNet#1059

* Resolved issue CiscoDevNet#1056

* Revert "ydkgen: run autopep8 on all ydkgen py files"

This reverts commit e5c17c1.

* fixup

* Close YList class with parenthethis

* Remove one EncodingFormat from the two enums

* Remove unused Entity* in resolve_leaf_value_namespace function in xml_subtree_codec

* Remove Entity from call to resolve_leaf_value_namespace function in xml_subtree_codec

* Remove errors.hpp.
Remove _print_yang_models_function from _print_top_level_entity_functions.
Remove _print_bundle_name_function from _print_top_level_entity_functions.

Co-authored-by: Yan Gorelik <34285093+ygorelik@users.noreply.github.com>
Co-authored-by: ygorelik <ygorelik@cisco.com>
Co-authored-by: Yan Gorelik <yangorelik@yahoo.com>
Co-authored-by: Yan Gorelik <ygorelik@localhost.localdomain>
Co-authored-by: CentOS <centos@centos7.linuxvmimages.com>
Co-authored-by: ubuntu <ubuntu@ubunu2004.linuxvmimagrs.local>
Co-authored-by: Santiago Alvarez <saalvare@cisco.com>
Co-authored-by: Santiago Álvarez <111pontes@users.noreply.github.com>
Co-authored-by: ygorelik <yangorelik@gmail.com>
Co-authored-by: Yan Gorelik <ygorelik@ubunu2004.linuxvmimagrs.local>
Co-authored-by: Daniele Gargano <84291326+viardant@users.noreply.github.com>
Co-authored-by: Shmuel Hazan <shmuel.h@siklu.com>
ygorelik added a commit to ygorelik/ydk-gen that referenced this pull request Oct 21, 2022
ygorelik added a commit to ygorelik/ydk-gen that referenced this pull request Oct 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants