-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Terraform Provider Development Program - Technical Review #14
Comments
Hey @jakewan, Any update on the progress of these items? |
Hi @cgriggs01 , Thanks for all of this feedback. I've been occupied on production support a lot lately. But right now I'm inputting these into our Jira system for tracking and assignment, and producing internal documentation to help other folks here with development and testing of the Terraform provider. There's a lot of enthusiasm here for it too. I should be able to start moving ahead on these items in the next few days. Thanks, |
Added dependency packages back to the repository via #20. |
Set Go version to 1.12.x in .travis.yml via #21. |
Removed |
Refactored citrixitm/resource_citrixitm_dns_app.go to remove the Via PR: #22 |
Updated website documentation to clarify support for use of Via PR: #23 |
Added standardized output to each C/R/U/D operation. Also added guidance to CONTRIBUTING.md explaining the practice. Via PR: #24 |
Unfortunately, due to recent strategic changes at Citrix, the product line that this Terraform provider was meant to support will no longer be actively developed. Therefore, work on the provider has ceased. @cgriggs01 Thanks so much for all your help and feedback. |
Hey Team, I have made a second deeper technical review and have feedback outlined below that I’d like to see addressed before we move on to the official migration and release.
You recently upgraded to use Go Modules, which is great! But we also require that all the providers dependancies are checked into a vendor/ directory within the repository. This can be done by running
go mod vendor
.The .travic.yml config should be upgraded to us Go version "1.11.x" or "1.12.x"
GNUmakefile is still using the
govendor
in the vendor-status make target. This target should be removed from the makefile and its call at .travis.yml:19In the DNS App schema, the Read, Update, and Delete actions are wrapped with the
withExistingResource
function but that function does not properly handle the "not found" condition. Instead of returning an error, it should calld.SetId("")
to indicate the resource is not present and then returnnil
.Import function is defined in the dns_app resource but is not implemented and the documentation says that import is not supporter. If there is no import functionality, the function delectation should be removed along with the import_citrixitm_dns_app_test.go
As a debugging best practice, we would like to have [INFO] log message at least 2 per each C/R/U/D - e.g. creating (input), created (output)
In DNS App you are calling HasChange across all of the attributes and then doing a generic update. HasChange is more for a specific attribute changing that causes a more specific update to occur (ie. adding an ip address or scaling a node). What you have works, but that is not really the intended usage of HasChange which could impact future resources.
If an error occurs, the provider should return an error message and should not
panic
. Error messages need to be propagated if they occur in the API calls unless they are an expected error. Read and Update.The website documentation is almost perfect. The only feedback would be to add the environment variable names to the provider arguments. As well change that sections name from
Configuration Reference
-->Argument Reference
Let me know if you have any questions about this feedback. Thanks for all you work on this provider. We look forward to getting this officially released!
Best,
Chris
The text was updated successfully, but these errors were encountered: