-
Notifications
You must be signed in to change notification settings - Fork 48
[EVPN] Implement Instance Profile Support in Terraform Provider #349
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
base: main
Are you sure you want to change the base?
[EVPN] Implement Instance Profile Support in Terraform Provider #349
Conversation
5a2f720 to
b14b1f6
Compare
CI/CD git diff Validation Issue - Request for GuidanceI'm encountering a ContextThis PR implements a legacy migration pattern similar to the DHCP The IssueThe CI/CD pipeline is failing on 1. Documentation formatting: # CI/CD generator wants:
vlan_id = "123" # String with quotes
# My local generator produces:
vlan_id = 123 # Number without quotes2. provider.go import formatting inconsistency: My local environment produces different provider.go formatting depending on which tool runs last:
This creates a cycle where I commit one format, CI/CD wants another, I change it, CI/CD wants the original format back. Key DiscoveryThe DHCP
The What I've Done
Why Legacy Migration PRs Have This ChallengeNew Feature PRs (Creating New Resources):
Legacy Migration PRs (Modifying Existing Resources):
The original
This combination creates the infinite formatting loop we're experiencing. RequestCould you advise on:
The feature code itself is fully tested and working - this is purely a generator output consistency challenge. Thank you! |
|
The related PR for the Terraform module can be found here: netascode/terraform-iosxe-nac-iosxe#88 These will need to be merged together due to the breaking change. |
| --- | ||
| name: VLAN Configuration | ||
| path: Cisco-IOS-XE-native:native/vlan/Cisco-IOS-XE-vlan:configuration=%v | ||
| path: Cisco-IOS-XE-native:native/vlan/Cisco-IOS-XE-vlan:configuration-entry=%v |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is configuration-entry fully supported on 17.12?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Configuration-entry is supported in 17.12 but not fully supported. The profile is not added until 17.15
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, but all the functionality that was there before is still working under 17.12 with this new path, right?
|
Please use the make targets documented here (https://github.com/CiscoDevNet/terraform-provider-iosxe/blob/main/CONTRIBUTING.md#code-generation) to generate the code. |
…port BREAKING CHANGES: - Rename evpn_instance to evpn_instance_legacy for IOS-XE < 17.15 - Rename evpn_instance_vni to evpn_instance_vni_legacy for IOS-XE < 17.15 - Update VLAN configuration path from 'configuration' to 'configuration-entry' NEW FEATURES: - Add evpn_instance, evpn_instance_vni, evpn_instance_protected for IOS-XE >= 17.15 - Add evpn_instance_profile and evpn_instance_profile_protected for auto EVI - Support for 'member evpn-instance profile <profile-name>' CLI command Generated using: make gen NAME="vlan_configuration"
7ced02b to
14140fc
Compare
0485d90 to
5128dde
Compare
78480bb to
7b63ffb
Compare
Thanks Daniel my apologies, I was using Breaking ChangeThe related PR for the Terraform module can be found here: netascode/terraform-iosxe-nac-iosxe#88 These will need to be merged together due to the breaking change. |
This PR migrates VLAN EVPN instance configuration to the current YANG path and adds support for EVPN instance profile-based configuration, enabling automated EVPN instance management through L2 profiles.
Breaking Changes
Rename evpn_instance to evpn_instance_legacy for IOS-XE versions < 17.15 (deprecated YANG path)
Rename evpn_instance_vni to evpn_instance_vni_legacy for IOS-XE versions < 17.15 (deprecated YANG path)
Update iosxe_vlan_configuration resource path from vlan/configuration to vlan/configuration-entry to align with current YANG model
New Features
Add evpn_instance, evpn_instance_vni, and evpn_instance_protected attributes using the current YANG path (member/evi-member/evpn-instance/manual-evi-config) for IOS-XE >= 17.15
Add evpn_instance_profile attribute for auto EVI configuration (CLI: member evpn-instance profile )
Add evpn_instance_profile_protected attribute for enabling local peer-to-peer blocking in profile-based configurations
Migration Path
Users on IOS-XE < 17.15 should use evpn_instance_legacy and evpn_instance_vni_legacy attributes. Users on IOS-XE >= 17.15 can continue using evpn_instance and evpn_instance_vni which now map to the current YANG path.