I have heard that Terraform will be the preferred method for customers to provision VPC GC resources if a customer doesn't use the IBM Cloud CLI or the UI.
Therefore, we need to try to develop a way to successfully provision large numbers of VPC GC VSI's using Terraform.
The system behind the RIAS API is the SoftLayer IMS system. This has an API rate limit of 50 requests/sec.
In isWaitForInstanceAvailable (https://github.com/IBM-Cloud/terraform-provider-ibm/blob/master/ibm/resource_ibm_is_instance.go#L481), it will poll the instance every 10 seconds but if 1000 VSI instances are in flight, polling this often will cause problems.
Note, however, that if VPC NG will use this same resource_ibm_is_instance, it will not have the same IMS limitation. Perhaps there will could be some difference in behavior based on generation=1 parameter which is VPC GC or generation=2 which is NextGen
Terraform Version
tf -version
Terraform v0.11.14
provider.ibm v0.17.2
provider.null v2.1.2
Affected Resource(s)
Please list the resources as a list, for example:
resource_ibm_is_instance
Terraform Configuration Files
Expected Behavior
What should have happened?
Actual Behavior
The current behavior will cause rate limit responses from IMS if it polls every instance every 10 seconds
Steps to Reproduce
Please list the steps required to reproduce the issue, for example:
terraform apply
Important Factoids
Are there anything atypical about your accounts that we should know? For example: Running in EC2 Classic? Custom version of OpenStack? Tight ACLs?
References
Are there any other GitHub issues (open or closed) or Pull Requests that should be linked here? For example:
I have heard that Terraform will be the preferred method for customers to provision VPC GC resources if a customer doesn't use the IBM Cloud CLI or the UI. Therefore, we need to try to develop a way to successfully provision large numbers of VPC GC VSI's using Terraform. The system behind the RIAS API is the SoftLayer IMS system. This has an API rate limit of 50 requests/sec. In isWaitForInstanceAvailable (https://github.com/IBM-Cloud/terraform-provider-ibm/blob/master/ibm/resource_ibm_is_instance.go#L481), it will poll the instance every 10 seconds but if 1000 VSI instances are in flight, polling this often will cause problems.
Note, however, that if VPC NG will use this same resource_ibm_is_instance, it will not have the same IMS limitation. Perhaps there will could be some difference in behavior based on
generation=1
parameter which is VPC GC orgeneration=2
which is NextGenTerraform Version
tf -version Terraform v0.11.14
Affected Resource(s)
Please list the resources as a list, for example:
Terraform Configuration Files
Expected Behavior
What should have happened?
Actual Behavior
The current behavior will cause rate limit responses from IMS if it polls every instance every 10 seconds
Steps to Reproduce
Please list the steps required to reproduce the issue, for example:
terraform apply
Important Factoids
Are there anything atypical about your accounts that we should know? For example: Running in EC2 Classic? Custom version of OpenStack? Tight ACLs?
References
Are there any other GitHub issues (open or closed) or Pull Requests that should be linked here? For example: