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

Feat(eos_designs): Generate CVP Tags #2859

Closed
wants to merge 74 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
4749f95
Getting started
ClausHolbechArista May 12, 2023
de52a92
Merge branch 'devel' into cvp_tags
chetryan May 18, 2023
3944686
Merge remote-tracking branch 'upstream/devel' into cvp_tags
chetryan May 29, 2023
3f4ac3c
Feat(cvp_tags): Add topology and peer tags
chetryan May 29, 2023
2a66b40
Feat(cvp_tags): Update github action
chetryan May 29, 2023
484f102
Feat(cvp_tags): update actions
chetryan May 29, 2023
0de8e68
Fix(eos_designs): Restore removed line.
chetryan May 29, 2023
af93380
Feat(cvp_tags): Add interface description
chetryan May 29, 2023
7431c1f
Fix(cvp_tags): Fix molecule create play
chetryan May 29, 2023
bd02c9e
Feat(cvp_tags): Add default hint type and custom
chetryan May 29, 2023
66d3fcd
Fix(cvp_tags): Update Schema
chetryan May 30, 2023
f84fe19
Fix(cvp_tags): Extend list of invalid custom tags
chetryan May 30, 2023
bf08ee1
Feat(cvp_tags): Add push to CVP
chetryan May 30, 2023
fabdf3b
Feat(cvp_tags): Add documentation generation
chetryan May 30, 2023
f6b828d
Feat(cvp_tags): Support is_deployed and int tags
chetryan May 30, 2023
bff621a
Fix(cvp_tags): skip CVP in molecule test
chetryan May 30, 2023
eb55b34
Fix(cvp_tags): Fix the generate_release
chetryan May 30, 2023
1c52749
Docs(cvp_tags): Add Documentation for cvp_tags
chetryan May 31, 2023
d1bf407
WIP: move generation to eos_designs
chetryan Jun 8, 2023
ee1815e
WIP: Added push to cloudvision
chetryan Jun 9, 2023
07262aa
WIP
chetryan Jun 14, 2023
700da53
Merge remote-tracking branch 'upstream/devel' into cvp_tags
chetryan Jun 16, 2023
a8a322f
Fix: Regenerate after merge
chetryan Jun 16, 2023
2b625b6
Docs: Update documentation and refactor some vars
chetryan Jun 16, 2023
e5ef794
Docs: Add Documentation
chetryan Jun 16, 2023
b1d6acd
Merge branch 'devel' into cvp_tags
chetryan Jun 16, 2023
cc28618
Fix(CI): Update the CI for the new feature
chetryan Jun 19, 2023
b59c8de
Fix(eos_designs): Rename 'label' to 'name'
chetryan Jun 19, 2023
d2785a8
Fix(cloudvision): Remove unused action module
chetryan Jun 19, 2023
56475c8
Merge branch 'devel' into cvp_tags
chetryan Jun 19, 2023
8bab45f
Fix(eos_designs): Re run molecule tests
chetryan Jun 19, 2023
6adc47c
WIP: Make feature off by default
chetryan Jun 19, 2023
964e23f
WIP: Rerun molecule tests
chetryan Jun 19, 2023
f24bcf2
Fix: Revert changes to mpls example
chetryan Jun 19, 2023
8724aa8
WIP: Update documentation.
chetryan Jun 19, 2023
38fa7e0
Fix: Update eos_cli_config_gen schema
chetryan Jun 19, 2023
56ef5cf
Docs & Refactor: Refactor avdstructured config
chetryan Jun 19, 2023
6ebf453
Merge branch 'devel' into cvp_tags
chetryan Jun 23, 2023
b4b1607
Update .github/workflows/pull-request-management.yml
chetryan Jun 23, 2023
ab9831d
Update .github/workflows/pull-request-management.yml
chetryan Jun 23, 2023
d6ddb19
Update ansible_collections/arista/avd/roles/eos_designs/python_module…
chetryan Jun 23, 2023
409b524
Update ansible_collections/arista/avd/roles/eos_designs/docs/role-con…
chetryan Jun 23, 2023
b9257e7
Update ansible_collections/arista/avd/roles/cloudvision/tasks/main.yml
chetryan Jun 23, 2023
bcc13de
WIP: feedback from PR
chetryan Jun 26, 2023
dcfcdf3
Merge branch 'cvp_tags' of https://github.com/chetryan/ansible-avd in…
chetryan Jun 26, 2023
216ce17
WIP: PR feedback
chetryan Jun 26, 2023
92fe6a7
WIP: PR feedback
chetryan Jun 26, 2023
cb217a0
Merge branch 'devel' into cvp_tags
chetryan Jun 26, 2023
f6b98c6
Merge branch 'cvp_tags' of https://github.com/chetryan/ansible-avd in…
chetryan Jun 26, 2023
0730918
Fix: Feedback from PR
chetryan Jun 26, 2023
2f4b6e9
Fix: Remove commented out lines
chetryan Jun 26, 2023
0af0bf2
Merge branch 'devel' into cvp_tags
carlbuchmann Jul 13, 2023
061ee8a
Merge remote-tracking branch 'upstream/devel' into cvp_tags
chetryan Sep 27, 2023
a7b8bea
Merge branch 'devel' into cvp_tags
chetryan Sep 27, 2023
7b60a94
DOCS(cloudvision): Update docs
chetryan Sep 27, 2023
7432465
FEAT(cloudvision): rename the fields to improve readability
chetryan Sep 27, 2023
3153191
FIX: use failed_when instead of ignore_errors
chetryan Sep 27, 2023
f67fade
FIX: eos_designs_unit_tests
chetryan Sep 27, 2023
f726452
Merge branch 'devel' into cvp_tags
chetryan Sep 29, 2023
b9bf3f6
FEAT: rename cloudvision_ prefic to cv_
chetryan Sep 29, 2023
dbe4eff
FEAT: continue rename of cloudvision_ prefix
chetryan Sep 29, 2023
9059b63
Fix: Remove faulty delegation test
chetryan Sep 29, 2023
87d470d
Merge remote-tracking branch 'upstream/devel' into cvp_tags
chetryan Oct 3, 2023
cf35a67
FIX(cloudvision): pipeline error
chetryan Oct 3, 2023
8d12779
FIX: make device_tags or interfac_tags optional
chetryan Oct 6, 2023
93a48c9
Fix: Update molecule test to cover more scenarios
chetryan Oct 6, 2023
f9a8e42
FIX: Update the molecule
chetryan Oct 9, 2023
9a02785
FIX(eos_designs): Rename field to data_path
chetryan Oct 30, 2023
ae6a4bb
FIX(eos_designs): Use the shared_utils.rack information
chetryan Oct 30, 2023
a9c5eb3
FIX(eos_designs) Simplify molecule test topology
chetryan Oct 30, 2023
24dfa54
Merge branch 'devel' into cvp_tags
chetryan Oct 30, 2023
bdcae30
Merge branch 'devel' into cvp_tags
chetryan Oct 31, 2023
ce9f97c
Fix(eos_designs): fix molecule test
chetryan Oct 31, 2023
0ae8e35
Merge branch 'devel' into cvp_tags
chetryan Nov 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/generate_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
SCOPES = [
"build_output_folders",
"cvp_configlet_upload",
"cloudvision",
"dhcp_provisioner",
"eos_cli_config_gen",
"eos_config_deploy_cvp",
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/pull-request-management.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,10 @@ jobs:
- 'ansible_collections/arista/avd/molecule/cvp_configlet_upload/*'
- 'ansible_collections/arista/avd/molecule/cvp_configlet_upload/**/*'
- '.github/workflows/pull-request-management.yml'
- 'ansible_collections/arista/avd/roles/cloudvision/*'
- 'ansible_collections/arista/avd/roles/cloudvision/**/*'
- 'ansible_collections/arista/avd/molecule/cloudvision/*'
- 'ansible_collections/arista/avd/molecule/cloudvision/**/*'
dhcp:
- 'ansible_collections/arista/avd/roles/dhcp_provisioner/*'
- 'ansible_collections/arista/avd/roles/dhcp_provisioner/**/*'
Expand Down Expand Up @@ -305,6 +309,42 @@ jobs:
galaxy_server: 'https://old-galaxy.ansible.com'
needs: [ pre_commit ]
if: needs.file-changes.outputs.cloudvision == 'true'
steps:
- name: 'Set environment variables'
run: |
echo "PY_COLORS=1" >> $GITHUB_ENV
echo "ANSIBLE_FORCE_COLOR=1" >> $GITHUB_ENV
- name: 'Set galaxy server'
if: ${{ matrix.galaxy_server }}
run: |
echo "ANSIBLE_GALAXY_SERVER=${{ matrix.galaxy_server }}" >> $GITHUB_ENV
- uses: actions/checkout@v3
- name: Run molecule action
uses: arista-netdevops-community/[email protected]
with:
molecule_parentdir: 'ansible_collections/arista/avd'
molecule_command: 'test'
molecule_args: '--scenario-name ${{ matrix.avd_scenario }}'
pip_file: ansible_collections/arista/avd/requirements.txt
galaxy_file: "ansible_collections/arista/avd/collections.yml"
ansible: ${{ matrix.ansible_version }}
check_git: true
check_git_enforced: true

# ----------------------------------- #
# CloudVision TAGS MOLECULE
# ----------------------------------- #
molecule_cloudvision_tags:
name: Validate CloudVision Role for Tags
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
avd_scenario: [ 'cloudvision_tags' ]
ansible_version: ['ansible-core<2.16.0 --upgrade']
galaxy_server: ['https://old-galaxy.ansible.com']
needs: [ pre_commit ]
if: needs.file-changes.outputs.eos_design == 'true' || needs.file-changes.outputs.cloudvision == 'true'
steps:
- name: 'Set environment variables'
run: |
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/pull-request-triage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ jobs:
scopes: |
build_output_folders
cvp_configlet_upload
cloudvision
dhcp_provisioner
eos_cli_config_gen
eos_config_deploy_cvp
Expand Down
1 change: 1 addition & 0 deletions ansible_collections/arista/avd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ This repository provides content for Arista's **arista.avd** collection. The fol
- [**arista.avd.eos_config_deploy_cvp**](roles/eos_config_deploy_cvp/README.md) - Deploys intended configuration via CloudVision.
- [**arista.avd.eos_config_deploy_eapi**](roles/eos_config_deploy_eapi/README.md) - Deploys intended configuration via eAPI.
- [**arista.avd.cvp_configlet_upload**](roles/cvp_configlet_upload/README.md) - Uploads configlets from a local folder to CloudVision Server.
- [**arista.avd.cloudvision**](roles/cloudvision/README.md) - Applies tag changes to CloudVision.
- [**arista.avd.eos_validate_state**](roles/eos_validate_state/README.md) - Validate operational states of Arista EOS devices.
- [**arista.avd.eos_snapshot**](roles/eos_snapshot/README.md) - Collect commands on EOS devices and generate reports.
- [**arista.avd.dhcp_provisioner**](roles/dhcp_provisioner/README.md) - Configure an ISC-DHCP server to provide ZTP services and CloudVision registration.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
cloudvision_tags
eos_cli_config_gen
eos_cli_config_gen_deprecated_vars
eos_cli_config_gen_negative_unit_tests
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
- name: Converge
hosts: FABRIC
gather_facts: false
connection: local
vars:
root_dir: '{{ playbook_dir }}'
cvp_address: "{{ lookup('ansible.builtin.env', 'CVP_ADDRESS', default='None') }}"
tasks:
- name: Generate intended variables
delegate_to: 127.0.0.1
ansible.builtin.import_role:
name: arista.avd.eos_designs

- name: Apply tags in CloudVision
ansible.builtin.import_role:
name: arista.avd.cloudvision
delegate_to: cv_server
when:
- cvp_address != "None"
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
- name: Configure local folders
hosts: all
gather_facts: false
connection: local
vars:
root_dir: '{{ playbook_dir }}'
tasks:
- name: Create local output folders
delegate_to: 127.0.0.1
ansible.builtin.import_role:
name: arista.avd.build_output_folders
run_once: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
- name: Remove output folders
hosts: all
gather_facts: false
connection: local
vars:
root_dir: '{{ playbook_dir }}'
tasks:
- name: Delete local folders
delegate_to: 127.0.0.1
run_once: true
ansible.builtin.file:
path: "{{ root_dir }}/{{ item }}"
state: absent
with_items:
- config_backup
- reports
Loading