Support IPv6 OTT gateway for Apstra 6.1.0+#1249
Open
chrismarget-j wants to merge 3 commits into
Open
Conversation
63c8149 to
845f4e3
Compare
845f4e3 to
157952c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Apstra versions prior to 6.1.0 only supported IPv4 addresses for the
apstra_datacenter_external_gatewayresourceip_addressattribute. Current versions permit IPv4 or IPv6 values.This PR changes the underlying type of that attribute from
iptypes.IPv4Addresstoiptypes.IPAddresswhich permits both IPv4 and IPv6 addresses.The change is expected to be seamless for upgrades: TF state stores the values as text, and strings representing addresses from either version can be parsed from text into the new type.
The resource now implements the
resource.ResourceWithValidateConfiginterface and has a version-aware validator which complains if an IPv6 address is specified when talking to Apstra < 6.1.0.New test object function
BlueprintJ()creates a 6.1.0+ blueprint with IPv6-only VTEP addressing required to test this configuration.The integration test is a little ugly:
bpbefore running test casesbp6using theBlueprintJ()function if the API supports it.bporbp6) as part of the test case configuration.It's not elegant, but the behavior gets tested, so I think it's okay.
Closes #1248