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

Refactor(eos_designs): Structured config output #4700

Draft
wants to merge 58 commits into
base: devel
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
94a34e6
Feat(plugins): Add python classes built from schemas including valida…
ClausHolbechArista Oct 16, 2024
7275849
Fix pre-commit
ClausHolbechArista Oct 16, 2024
bea4867
Adjust typevars
ClausHolbechArista Oct 16, 2024
c6a3a80
One more docstring
ClausHolbechArista Oct 16, 2024
7093b38
Small fixes
ClausHolbechArista Oct 17, 2024
ea02a73
maybe fix pre-commit
ClausHolbechArista Oct 17, 2024
6b46195
fix
ClausHolbechArista Oct 17, 2024
5e44b49
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 18, 2024
98689e5
fixes after rebase
ClausHolbechArista Oct 18, 2024
c26d9f1
Fix as_dict to remove field_ prefix
ClausHolbechArista Oct 18, 2024
3b9413f
more _context fixes
ClausHolbechArista Oct 18, 2024
ae18d11
fix pytest
ClausHolbechArista Oct 18, 2024
2eb73f1
Exclude generated class files from sonarcloud
ClausHolbechArista Oct 18, 2024
b5a7df4
Fix pytest
ClausHolbechArista Oct 18, 2024
465d575
fix typo for sonarcloud exclusion
ClausHolbechArista Oct 18, 2024
72f6dad
update sonarcloud exclusion
ClausHolbechArista Oct 18, 2024
8851858
Add collection class
ClausHolbechArista Oct 21, 2024
8b0858d
Reuse refs for collections
ClausHolbechArista Oct 21, 2024
55d1445
Fix
ClausHolbechArista Oct 22, 2024
1849d52
Rearrange code and minor improvements
ClausHolbechArista Oct 22, 2024
5fd5ab5
Fix cornercase where primary key is prefixed
ClausHolbechArista Oct 22, 2024
dd4bf31
Update ruff
ClausHolbechArista Oct 22, 2024
57d5831
fix
ClausHolbechArista Oct 22, 2024
34dd493
Further refactoring of eos_designs plus adjustments of tooling
ClausHolbechArista Oct 25, 2024
be83469
fix after rebase
ClausHolbechArista Oct 29, 2024
b4aeea4
Update CI artifacts
ClausHolbechArista Oct 29, 2024
432da1c
Fixes and more refactoring
ClausHolbechArista Oct 30, 2024
98eb88a
minor fix
ClausHolbechArista Oct 30, 2024
96cc16e
More refactoring
ClausHolbechArista Oct 31, 2024
f36774a
Fix and improve class names for dynamic keys
ClausHolbechArista Oct 31, 2024
3f11e63
minor improvement
ClausHolbechArista Oct 31, 2024
62cf062
Huge refactor of all network services + various fixes
ClausHolbechArista Nov 1, 2024
075be67
Refactor flow_tracking
ClausHolbechArista Nov 1, 2024
3291523
Refactoring node_type_keys_data
ClausHolbechArista Nov 1, 2024
1c58c27
Refactoring more in shared_utils
ClausHolbechArista Nov 1, 2024
14c94eb
Refactoring more shared_utils
ClausHolbechArista Nov 4, 2024
f39acb5
Refactoring of node_config
ClausHolbechArista Nov 5, 2024
38d3715
Fixes after rebase
ClausHolbechArista Nov 5, 2024
53d15c1
Fix ruff issues
ClausHolbechArista Nov 5, 2024
22ed8d7
Fixes and rebuild classes with schemas
ClausHolbechArista Nov 6, 2024
7087438
Minor fixes to requirements
ClausHolbechArista Nov 6, 2024
d86beed
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 6, 2024
ca93496
Address review comment
ClausHolbechArista Nov 6, 2024
8c76b34
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 6, 2024
9dffcf0
remove oneliner shared_utils
ClausHolbechArista Nov 6, 2024
2160296
fix build backend
ClausHolbechArista Nov 6, 2024
3ff28f2
remove oneliner shared_utils
ClausHolbechArista Nov 6, 2024
e7be7e5
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 6, 2024
0c6b269
Fix bug in cv_topology
ClausHolbechArista Nov 6, 2024
db7e1f6
pin ruff version again to avoid issue with mininum req versions
ClausHolbechArista Nov 6, 2024
06b1a8b
pin ruff version again to avoid issue with mininum req versions
ClausHolbechArista Nov 6, 2024
ca2fe16
pffff
ClausHolbechArista Nov 6, 2024
f2d0f02
fix negative test
ClausHolbechArista Nov 6, 2024
a57cd19
Fix arbitrary data passing through custom structured config and bugfi…
ClausHolbechArista Nov 7, 2024
b72fa71
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 7, 2024
0d6f2e5
update gitattributes
ClausHolbechArista Nov 7, 2024
0e2b9a3
Refactor(eos_designs): Structured config output as classes
ClausHolbechArista Nov 8, 2024
f0c708a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Collapsing generated schemas from PR diff by default
/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml linguist-generated=true -merge -diff
/python-avd/pyavd/_eos_designs/schema/eos_designs.schema.yml linguist-generated=true -merge -diff
/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py linguist-generated=true -merge -diff
/python-avd/pyavd/_eos_designs/schema/__init__.py linguist-generated=true -merge -diff

# Showing generated tables in PR diff by default by count as generated and automatically use the latest file on merge
/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/* linguist-generated=true -merge diff
Expand Down
1 change: 1 addition & 0 deletions .github/requirements-ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
-r ../ansible_collections/arista/avd/requirements.txt
# Needed for molecule
jsonschema-rs>=0.24
ruff==0.7.2
1 change: 1 addition & 0 deletions .github/yamllintrc
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ rules:
- /ansible_collections/arista/avd/changelogs/fragments_backup/
- /ansible_collections/arista/avd/tests/inventory/**/expected_output/
- /python-avd/pyavd/**/schema/
- /python-avd/tests/**/artifacts/
- /.github/workflows/
new-lines:
type: unix
Expand Down
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ repos:
exclude: ansible_collections/arista/avd/molecule
- id: check-added-large-files
name: Prevents giant files from being committed.
exclude: (ansible_collections/arista/avd/molecule|pickle$)
exclude: (ansible_collections/arista/avd/molecule|pickle$|python-avd/pyavd/_(eos_cli_config_gen|eos_designs)/schema/__init__.py)
- id: check-merge-conflict
name: Checks for files that contain merge conflict strings.
exclude: ansible_collections/arista/avd/molecule
Expand Down Expand Up @@ -202,7 +202,7 @@ repos:
language: python
files: python-avd/pyavd/[a-z_]+/schema
pass_filenames: false
additional_dependencies: ['deepmerge>=1.1.0', 'PyYAML>=6.0.0', 'pydantic>=2.3.0', 'jsonschema-rs>=0.24', 'referencing>=0.35.0']
additional_dependencies: ['deepmerge>=1.1.0', 'PyYAML>=6.0.0', 'pydantic>=2.3.0', 'jsonschema-rs>=0.24', 'referencing>=0.35.0', 'ruff==0.7.2']

- id: templates
name: Precompile Jinja2 templates
Expand Down
3 changes: 2 additions & 1 deletion .sonarcloud.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Python version
sonar.python.version=3.10, 3.11, 3.12, 3.13
# Exclude tests from source
sonar.exclusions=python-avd/tests/**
# Exclude generated classes
sonar.exclusions=python-avd/tests/**,python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py,python-avd/pyavd/_eos_designs/schema/__init__.py
# Path to tests
sonar.tests=python-avd/tests
Loading
Loading