Closed nshenry03 closed 1 year ago
This PR has been automatically marked as stale because it has been open 30 days with no activity. Remove stale label or comment or this PR will be closed in 10 days
@nshenry03 - Does the underlying VPC resource itself support this? The resource has ipv6_ipam_pool_id
input option, which implies requiring IPAM. Have you successfully passed in a non-IPAM ipv6 pool to this option and it accepted it?
@nshenry03 - Does the underlying VPC resource itself support this? The resource has ipv6_ipam_pool_id
input option, which implies requiring IPAM. Have you successfully passed in a non-IPAM ipv6 pool to this option and it accepted it?
@nshenry03 - Does the underlying VPC resource itself support this? The resource has
ipv6_ipam_pool_id
input option, which implies requiring IPAM. Have you successfully passed in a non-IPAM ipv6 pool to this option and it accepted it?
Hey @britthouser , yes, we currently are using this in our environment and it works
This PR has been automatically marked as stale because it has been open 30 days with no activity. Remove stale label or comment or this PR will be closed in 10 days
This PR was automatically closed because of stale in 10 days
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.
Description
Before IPAM, users were still able to BYOIPv6. This change allows these users to use this module.
Motivation and Context
We used AWS BYOIPv6 before the AWS IPAM feature so we have to pass
ipv6_ipam_pool_id
AND passnull
toassign_generated_ipv6_cidr_block
. Currently the code forassign_generated_ipv6_cidr_block
is:so there is no way for us to pass
assign_generated_ipv6_cidr_block = null
without settinguse_ipam_pool
which has it's own implications since:Breaking Changes
No, I double checked that this shouldn't break anything or change existing behavior.
How Has This Been Tested?
I have updated at least one of the
examples/*
to demonstrate and validate my change(s)I haven't done this because the developer (or CI/CD) needs to have BYOIPv6 setup.
I have tested and validated these changes using one or more of the provided
examples/*
projectsI haven't done this because the developer (or CI/CD) needs to have BYOIPv6 setup.
Instead, I have done some manual testing...
Existing code
Tests
Existing functionality
The input,
assign_generated_ipv6_cidr_block
, is only true whenenable_ipv6
istrue
anduse_ipam_pool
isfalse
; otherwise it'snull
. This is expected since we only want AWS to generate an IPv6 CIDR when IPv6 is enabled and we aren't using an IPAM pool.enable_ipv6 = true
&&use_ipam_pool = true
enable_ipv6 = true
&&use_ipam_pool = false
enable_ipv6 = false
&&use_ipam_pool = true
enable_ipv6 = false
&&use_ipam_pool = false
Ensure we don't break existing functionality
Functionality is the same. If the user doesn't pass
assign_generated_ipv6_cidr_block
, then the only time we ask AWS to generate an IPv6 CIDR is when IPv6 is enabled and we aren't using an IPAM pool.enable_ipv6 = true
&&use_ipam_pool = true
&&assign_generated_ipv6_cidr_block = null
enable_ipv6 = true
&&use_ipam_pool = false
&&assign_generated_ipv6_cidr_block = null
enable_ipv6 = false
&&use_ipam_pool = true
&&assign_generated_ipv6_cidr_block = null
enable_ipv6 = false
&&use_ipam_pool = false
&&assign_generated_ipv6_cidr_block = null
Ensure that if
assign_generated_ipv6_cidr_block = false
, we never ask AWS to generate an IPv6 CIDR blockIf
assign_generated_ipv6_cidr_block = false
, we never ask AWS to generate an IPv6 CIDR block.enable_ipv6 = true
&&use_ipam_pool = true
&&assign_generated_ipv6_cidr_block = false
enable_ipv6 = true
&&use_ipam_pool = false
&&assign_generated_ipv6_cidr_block = false
enable_ipv6 = false
&&use_ipam_pool = true
&&assign_generated_ipv6_cidr_block = false
enable_ipv6 = false
&&use_ipam_pool = false
&&assign_generated_ipv6_cidr_block = false
Ensure that if
assign_generated_ipv6_cidr_block = true
, things are handled as they are todayWe can be certain that since things were the same when
assign_generated_ipv6_cidr_block
wasnull
(and the default value wastrue
, that whenassign_generated_ipv6_cidr_block = true
, things are handled as they are today; we would only ask AWS to generate an IPv6 CIDR if IPv6 is enabled, and we aren't using an IPAM pool.What about when
ipv6_ipam_pool_id
is notnull
?The only time there is a conflict is when
ipv6_ipam_pool_id
is notnull
(andassign_generated_ipv6_cidr_block
evaluates totrue
).If a user passes
ipv6_ipam_pool_id
, and leavesassign_generated_ipv6_cidr_block
asnull
, then the only timeassign_generated_ipv6_cidr_block
is notnull
is whenenable_ipv6
istrue
anduse_ipam_pool
isfalse
. In this case, it works the same as today and the user should setuse_ipam_pool
totrue
since they are passing a value forassign_generated_ipv6_cidr_block
.If a user passes
ipv6_ipam_pool_id
, and setsassign_generated_ipv6_cidr_block
totrue
, then the only timeassign_generated_ipv6_cidr_block
is notnull
is whenenable_ipv6
istrue
anduse_ipam_pool
isfalse
. In this case, the user messed up 2x, they should NOT have setassign_generated_ipv6_cidr_block
totrue
AND they SHOULD have setuse_ipam_pool
totrue
; fixing either mistake will resolve the conflict.I have executed
pre-commit run -a
on my pull request