Closed grg1bbs closed 7 months ago
Hey @grg1bbs, I experience same issue and i think its a API or backend problem. I face this also for other resources. That when you try to create multiple resources at once or delete multiple resources at once, you might get 500 error status code, without any descriptive information why this happened. There are some workarounds to bypass this. You can either make those fake dependencies like you did, use time_sleep or use --parallelism=1.
Did you try opening SR case to check if that is API issue?
Hi @kuba-mazurkiewicz, I did not open a TAC case as I have little confidence that the dev team would have any intention on investigating/fixing this API issue. The NDG configuration in the GUI is also a bit clunky, so this likely just a race condition.
I will continue using one or more of the workarounds you mentioned. Closing this issue.
Added a workaround to backoff and retry on 400/500 responses (https://github.com/netascode/go-ise/commit/65ff075df70f08b368816fad7194db757e3925c9) which will be included in the next release.
Workaround added in v0.1.10 release.
ISE version = 3.2 p4 Provider version = 0.1.9
When trying to create a nested NDG structure with 1 Parent and 2 Child groups using the 'ise_network_device_group' resource, TF throws a Client Error and one of the Child groups fails to create.
If the apply is run a second time, the resource is created successfully, so I suspect this is an issue with a race condition. Opening in issue to determine if this can be addressed within the provider. The child NDG (Child1 vs. Child2) that fails to create is also inconsistent when replicating the issue multiple times.
Example code:
Error output:
Workaround: If I add a dependency on child1 in the child2 resource block, all resources are created. This is not a true dependency, however, so it should not be needed.
Example workaround code: