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): Deprecating port_channel.short_esi under connected_endpoints #3027

Conversation

Shivani-chourasiya
Copy link
Contributor

@Shivani-chourasiya Shivani-chourasiya commented Jul 7, 2023

Change Summary

Deprecating port_channel.short_esi under connected_endpoints

Related Issue(s)

Fixes #86

Component(s) name

arista.avd.eos_designs

Checklist

User Checklist

  • N/A

Repository 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 and documentation have been updated accordingly.
  • I have updated molecule CI testing accordingly. (check the box if not applicable)

@Shivani-chourasiya Shivani-chourasiya requested review from a team as code owners July 7, 2023 07:45
@github-actions github-actions bot added state: CI Updated CI scenario have been updated in the PR state: Documentation role Updated role: eos_designs issue related to eos_designs role labels Jul 7, 2023
@Shivani-chourasiya Shivani-chourasiya marked this pull request as draft July 7, 2023 10:37
@Shivani-chourasiya Shivani-chourasiya marked this pull request as ready for review July 7, 2023 11:39
Copy link
Contributor

@gmuloc gmuloc left a comment

Choose a reason for hiding this comment

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

@Shivani-chourasiya / @carlbuchmann
So the issue states that the key would be deprecated in 4.0 (which has not been done yet since there is no deprecation)

And then it should be removed in 5.0.0

However the PR right now targets devel which will be used for 4.2.0,...
So in my opinion you cannot set removed: true now

You should only deprecate it and output a deprecation warning and when we are working on releasing 5.0 we will need a new PR to remove the key (and implement the tests you have here)..

So for now the PR should only focus on outputing a deprecation warning when the key is used and when we are closer to release 5.0 we should remove it only.

@Shivani-chourasiya
Copy link
Contributor Author

@Shivani-chourasiya / @carlbuchmann So the issue states that the key would be deprecated in 4.0 (which has not been done yet since there is no deprecation)

And then it should be removed in 5.0.0

However the PR right now targets devel which will be used for 4.2.0,... So in my opinion you cannot set removed: true now

You should only deprecate it and output a deprecation warning and when we are working on releasing 5.0 we will need a new PR to remove the key (and implement the tests you have here)..

So for now the PR should only focus on outputing a deprecation warning when the key is used and when we are closer to release 5.0 we should remove it only.

Sure @gmuloc, will update it

@Shivani-chourasiya
Copy link
Contributor Author

@Shivani-chourasiya / @carlbuchmann So the issue states that the key would be deprecated in 4.0 (which has not been done yet since there is no deprecation)

And then it should be removed in 5.0.0

However the PR right now targets devel which will be used for 4.2.0,... So in my opinion you cannot set removed: true now

You should only deprecate it and output a deprecation warning and when we are working on releasing 5.0 we will need a new PR to remove the key (and implement the tests you have here)..

So for now the PR should only focus on outputing a deprecation warning when the key is used and when we are closer to release 5.0 we should remove it only.

@gmuloc if I remove removed: true from schema, it won't be raising error on using port_channel.short_esi. Shall I remove the test-case from eos_designs_negative_unit_tests for now?

@Shivani-chourasiya Shivani-chourasiya marked this pull request as ready for review July 11, 2023 06:41
@gmuloc
Copy link
Contributor

gmuloc commented Jul 11, 2023

@Shivani-chourasiya / @carlbuchmann So the issue states that the key would be deprecated in 4.0 (which has not been done yet since there is no deprecation)
And then it should be removed in 5.0.0
However the PR right now targets devel which will be used for 4.2.0,... So in my opinion you cannot set removed: true now
You should only deprecate it and output a deprecation warning and when we are working on releasing 5.0 we will need a new PR to remove the key (and implement the tests you have here)..
So for now the PR should only focus on outputing a deprecation warning when the key is used and when we are closer to release 5.0 we should remove it only.

@gmuloc if I remove removed: true from schema, it won't be raising error on using port_channel.short_esi. Shall I remove the test-case from eos_designs_negative_unit_tests for now?

@Shivani-chourasiya so what you should do is the following:

1/ Deprecate the key without removing it
2/ Update all the molecule tests in the eos_designs repo to use the new syntax (maybe they already do)
3/ Add a molecule scenario eos_designs_deprecated_vars like the one we have for eos_cli_config_gen https://github.com/aristanetworks/ansible-avd/tree/devel/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars where you can test for deprecated vars so we make sure we don't break support until we remove them

Let me know if you need help

@Shivani-chourasiya Shivani-chourasiya marked this pull request as draft July 11, 2023 07:34
@Shivani-chourasiya
Copy link
Contributor Author

@Shivani-chourasiya / @carlbuchmann So the issue states that the key would be deprecated in 4.0 (which has not been done yet since there is no deprecation)
And then it should be removed in 5.0.0
However the PR right now targets devel which will be used for 4.2.0,... So in my opinion you cannot set removed: true now
You should only deprecate it and output a deprecation warning and when we are working on releasing 5.0 we will need a new PR to remove the key (and implement the tests you have here)..
So for now the PR should only focus on outputing a deprecation warning when the key is used and when we are closer to release 5.0 we should remove it only.

@gmuloc if I remove removed: true from schema, it won't be raising error on using port_channel.short_esi. Shall I remove the test-case from eos_designs_negative_unit_tests for now?

@Shivani-chourasiya so what you should do is the following:

1/ Deprecate the key without removing it 2/ Update all the molecule tests in the eos_designs repo to use the new syntax (maybe they already do) 3/ Add a molecule scenario eos_designs_deprecated_vars like the one we have for eos_cli_config_gen https://github.com/aristanetworks/ansible-avd/tree/devel/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars where you can test for deprecated vars so we make sure we don't break support until we remove them

Let me know if you need help

Hi @gmuloc, I have added the molecule scenario with a test-case for port_channel.short_esi.
Once this is reviewed I will add it for cvp_instance_ip PR as well

@Shivani-chourasiya Shivani-chourasiya marked this pull request as ready for review July 11, 2023 09:52
Copy link
Contributor

@gmuloc gmuloc left a comment

Choose a reason for hiding this comment

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

so a couple of things to fix still in there.

The issue does state to deprecate port_channel.short_esi and this is taking the right direction. I am now wondering if anything should be done for the port_channel.subinterface.short_esi. Technically we still want to be able to set different ethernet_segment.identifier per port-channel subinterfaces so I think this should stay but would like to get the feedback of other reviewers.

@gmuloc gmuloc requested a review from a team July 17, 2023 12:23
@Shivani-chourasiya Shivani-chourasiya force-pushed the port_channel_short_esi branch 3 times, most recently from 15f4a42 to 1bddba3 Compare July 25, 2023 05:08
Copy link
Contributor

@gmuloc gmuloc left a comment

Choose a reason for hiding this comment

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

LGTM - thanks

@@ -0,0 +1,27 @@
type: l2leaf
Copy link
Contributor

Choose a reason for hiding this comment

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

Connected endpoints ESI should only matter for EVPN VTEPs, so please change the test to l3leaf instead.
But this also reveals that our code for l2leaf is configuring ESI even though we should not. (Opening seperate issue on that.)

@ClausHolbechArista ClausHolbechArista merged commit 36cea7c into aristanetworks:devel Jul 28, 2023
32 checks passed
@Shivani-chourasiya Shivani-chourasiya removed their assignment Sep 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rn: Refactor(eos_designs) role: eos_designs issue related to eos_designs role state: CI Updated CI scenario have been updated in the PR state: Documentation role Updated
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants