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

[pull] master from Azure:master #1015

Merged
merged 6 commits into from
Sep 30, 2020
Merged

[pull] master from Azure:master #1015

merged 6 commits into from
Sep 30, 2020

Commits on Sep 30, 2020

  1. [build] Add Support For Python 3 Build

    CONiC config gen requires jinja2<3.0.0 for stretch and byangbind
    versions 0.60.0/0.80.1 for Python 2/3 respectively. byangbind
    is installed in the build docker because when it installed it
    pulls enum34 as dependent package which is not required for
    Python 3 and it breaks the build.
    
    signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
    tahmed-dev committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    c55bb03 View commit details
    Browse the repository at this point in the history
  2. [cfggen] Remove NatSorted

    Natural sorting of SONiC config gen output consumes lot of CPU cycles.
    The sole use of natsorted was to make test comparison easier and so,
    the natsorting logic is now relocated to the test suite. As a result
    sonic-cfggen gained nearly 1 sec per call since we no longer import
    natsorted module!
    
    singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
    tahmed-dev committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    9122d16 View commit details
    Browse the repository at this point in the history
  3. [cfggen] Make Jinja2 Template Python 3 Compatible

    Jinja2 templates rendered using Python 3 interpreter, are required
    to conform with Python 3 new semantics.
    
    singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
    tahmed-dev committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    6754635 View commit details
    Browse the repository at this point in the history
  4. [cfggen] Move Python 2 Test Data to Py2 Folder

    Rendering templates show different orders when rendered using Python
    2 vs Python 3. This PR prepare for Python 3 packaging by creating
    new dir 'py2' for Python 2 rendered test cases.
    
    singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
    tahmed-dev committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    99ffce6 View commit details
    Browse the repository at this point in the history
  5. [cfggen] Build Python 2 And Python 3 Wheel Packages

    This builds Python 2&3 wheel packages for sonic-cfggen script.
    
    singed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
    tahmed-dev committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    110f7b7 View commit details
    Browse the repository at this point in the history
  6. [cfggen] Iterative Version Of Deep Update

    Avoiding recursive update of maps as it consumes stack frames. This
    PR introduces iterative version of deep_update method.
    
    signed-off-by: Tamer Ahmed <tamer.ahmed@microsoft.com>
    tahmed-dev committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    57a5849 View commit details
    Browse the repository at this point in the history