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

Implement role with CV modules in version 3 #934

Merged
merged 13 commits into from
May 27, 2021
Merged

Implement role with CV modules in version 3 #934

merged 13 commits into from
May 27, 2021

Conversation

titom73
Copy link
Contributor

@titom73 titom73 commented May 8, 2021

Change Summary

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes)
  • Documentation content changes
  • Other (please describe):

Related Issue(s)

Fixes #924

Component(s) name

  • arista.avd.cvp_configlet_upload
  • arista.avd.eos_config_deploy_cvp

Proposed changes

Add support of arista.cvp in version 3 by using a knob to select which version to use

# Version of the Cloudvision collection to use for upload
cv_collection: <v1 | v3>

Execution time comparison

  • Configlet upload

    • In V1: 1 minutes, 46 seconds
    • In V3: 0 minutes, 11 seconds
  • AVD Configuration deploy: Full build AVD+CVP deploy

    • In V1: 3 minutes, 51 seconds
    • In V3: 3 minutes, 5 seconds

Note: In this scenario, there is no additional configlet and additional device configured on Cloudvision side. It might be interesting to compare time in a fully loaded environment.

How to test

Not yet in molecule

Checklist:

  • My code has been rebased from devel before I start
  • I have read the CONTRIBUTING document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have updated molecule CI testing accordingly
  • All new and existing tests passed (pre-commit, make linting and make sanity-lint).

@github-actions github-actions bot added role: cvp_configlet_upload issue related to cvp_configlet_upload role role: eos_config_deploy_cvp issue related to eos_config_deploy_cvp role state: Documentation role Updated labels May 8, 2021
@titom73 titom73 changed the title issues/924-cv-module-v3 Implement role with CV modules in version 3 May 8, 2021
@github-actions
Copy link

github-actions bot commented May 8, 2021

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added the state: conflict PR with conflict label May 8, 2021
@github-actions
Copy link

github-actions bot commented May 9, 2021

Conflicts have been resolved. A maintainer will review the pull request shortly.

@github-actions github-actions bot removed the state: conflict PR with conflict label May 9, 2021
@github-actions github-actions bot added the state: CI Updated CI scenario have been updated in the PR label May 9, 2021
@github-actions github-actions bot requested a review from carlbuchmann May 9, 2021 17:52
@github-actions github-actions bot added the type: code quality CI and development toolset label May 9, 2021
@titom73 titom73 added this to the v2.2.0 milestone May 9, 2021
@titom73 titom73 marked this pull request as ready for review May 15, 2021 17:13
@noredistribution
Copy link
Contributor

LGTM! Tested this a few good times. Comparison between v1 and v3

v1 results

Thursday 20 May 2021  20:07:09 +0100 (0:00:00.664)       0:10:35.416 **********
===============================================================================
eos_config_deploy_cvp ------------------------------------------------- 607.25s
eos_designs ------------------------------------------------------------ 16.80s
eos_cli_config_gen ----------------------------------------------------- 11.24s
eos_l3ls_evpn ----------------------------------------------------------- 0.05s
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
total ----------------------------------------------------------------- 635.34s
Thursday 20 May 2021  20:07:09 +0100 (0:00:00.664)       0:10:35.415 **********
===============================================================================

v3 results

Friday 21 May 2021  00:41:01 +0000 (0:00:00.036)       0:02:35.131 ************
===============================================================================
eos_config_deploy_cvp ------------------------------------------------- 127.51s
eos_designs ------------------------------------------------------------ 16.27s
eos_cli_config_gen ----------------------------------------------------- 11.28s
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
total ----------------------------------------------------------------- 155.06s
Friday 21 May 2021  00:41:01 +0000 (0:00:00.037)       0:02:35.131 ************
===============================================================================

@guillaumeVilar
Copy link
Contributor

LGTM tested on 2020.3.1:

arista.avd.eos_config_deploy_cvp : Configure devices on cv_server -------------------------------------------- 26.35s
arista.avd.eos_config_deploy_cvp : Building Containers topology on cv_server ------------------------------------------------- 10.60s
arista.avd.cvp_configlet_upload : create configlets on CVP cv_server. --------------------------------------------- 5.06s
arista.avd.eos_config_deploy_cvp : Create configlets on CVP cv_server. -------------------------------------- 4.96s
arista.avd.eos_config_deploy_cvp : Execute pending tasks on cv_server ---------------------- 4.91s
arista.avd.eos_cli_config_gen : Generate content of device documentation ---------------- 3.05s
arista.avd.eos_designs : Generate device configuration in structured format --------------------------- 2.64s
arista.avd.eos_cli_config_gen : Generate eos intended configuration -------------------------------------------- 2.63s
arista.avd.cvp_configlet_upload : generate intented variables -------------------------------- 2.22s
arista.avd.eos_config_deploy_cvp : Generate intented variables ----------------------- 2.20s
arista.avd.eos_designs : Set AVD facts ----------------------------------- 2.12s
arista.avd.eos_designs : Generate fabric documentation in Markdown Format. ------------------- 1.93s
arista.avd.eos_designs : Set AVD topology facts ------------------------- 1.90s
arista.avd.eos_designs : Generate fabric point-to-point links summary in csv format. ----------------------- 1.52s
arista.avd.eos_config_deploy_cvp : Load CVP device information for cv_server --------------------- 1.46s
arista.avd.eos_designs : Generate fabric topology in csv format. --------------------------- 1.31s
arista.avd.eos_cli_config_gen : Generate TOC for device documentation -------------------------- 1.28s
arista.avd.eos_designs : Write device structured configuration to YAML file ---------------- 1.14s
arista.avd.eos_designs : Generate TOC for fabric documentation ----------------- 0.88s
arista.avd.eos_config_deploy_cvp : Build DEVICES and CONTAINER definition for cv_server ------------ 0.82s
Playbook run took 0 days, 0 hours, 1 minutes, 25 seconds

with the playbook:

- hosts: cv_server
  tasks:
    - name: deploy configuration via CVP
      import_role:
         name: arista.avd.eos_config_deploy_cvp
      vars:
        container_root: 'DC1_FABRIC'
        configlets_prefix: 'DC1-AVD'
        device_filter: 'DC1'
        state: present
        execute_tasks: true
        cv_collection: v3

Copy link
Contributor

@noredistribution noredistribution left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@carlbuchmann carlbuchmann merged commit 6c4a6f7 into aristanetworks:devel May 27, 2021
@titom73 titom73 deleted the issues/924-cv-module-v3 branch June 5, 2021 17:30
@titom73 titom73 restored the issues/924-cv-module-v3 branch July 27, 2021 15:15
@titom73 titom73 deleted the issues/924-cv-module-v3 branch October 1, 2021 19:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
role: cvp_configlet_upload issue related to cvp_configlet_upload role role: eos_config_deploy_cvp issue related to eos_config_deploy_cvp role state: CI Updated CI scenario have been updated in the PR state: Documentation role Updated type: code quality CI and development toolset
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Move cv modules to their new versions
4 participants