Terraform-provider-kubernetes: Evaluate linter errors

Created on 17 Jun 2020  路  15Comments  路  Source: hashicorp/terraform-provider-kubernetes

Evaluate and fix linter errors generated by https://github.com/bflad/tfproviderlint

Debug Output

/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_api_service_test.go:113:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_cluster_role_binding_test.go:191:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_cluster_role_test.go:59:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_config_map_test.go:116:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_config_map_test.go:202:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_daemonset_test.go:110:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_deployment_test.go:97:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_deployment_test.go:149:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_endpoints_test.go:186:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_endpoints_test.go:239:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_horizontal_pod_autoscaler_test.go:135:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_horizontal_pod_autoscaler_v2_test.go:90:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_limit_range_test.go:267:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_mutating_webhook_configuration_test.go:112:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_namespace_test.go:113:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_namespace_test.go:205:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_network_policy_test.go:345:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_persistent_volume_claim_test.go:133:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_persistent_volume_test.go:190:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_pod_disruption_budget_test.go:84:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_pod_test.go:245:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_priority_class_test.go:117:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_replication_controller_deprecated_test.go:98:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_replication_controller_deprecated_test.go:149:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_replication_controller_test.go:117:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_replication_controller_test.go:169:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_resource_quota_test.go:179:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_role_binding_test.go:125:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_role_test.go:78:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_secret_test.go:158:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_secret_test.go:211:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_service_account_test.go:240:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_service_test.go:450:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_service_test.go:503:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_storage_class_test.go:111:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_storage_class_test.go:164:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_validating_webhook_configuration_test.go:110:6: AT002: acceptance test function name should not include import
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_cluster_role_binding_test.go:14:6: AT003: acceptance test function name should include underscore
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_cluster_role_binding_test.go:212:6: AT003: acceptance test function name should include underscore
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_cluster_role_test.go:80:6: AT003: acceptance test function name should include underscore
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_role_binding_test.go:213:6: AT003: acceptance test function name should include underscore
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_role_test.go:131:6: AT003: acceptance test function name should include underscore
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_service_account.go:188:50: R002: ResourceData.Set() pointer value dereference is extraneous
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_storage_class.go:131:35: R002: ResourceData.Set() pointer value dereference is extraneous
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_api_service.go:19:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_cluster_role.go:18:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_cluster_role_binding.go:18:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_config_map.go:18:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_cron_job.go:21:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_daemonset.go:23:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_deployment.go:28:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_endpoints.go:18:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_horizontal_pod_autoscaler.go:18:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_ingress.go:25:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_job.go:22:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_limit_range.go:18:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_mutating_webhook_configuration.go:23:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_namespace.go:20:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_network_policy.go:38:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_persistent_volume.go:21:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_persistent_volume_claim.go:29:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_pod.go:27:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_pod_disruption_budget.go:28:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_priority_class.go:18:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_replication_controller.go:21:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_resource_quota.go:20:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_role.go:18:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_role_binding.go:18:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_secret.go:18:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_service.go:21:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_service_account.go:22:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_stateful_set.go:21:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_storage_class.go:19:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_validating_webhook_configuration.go:23:3: R003: resource should not include Exists function
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_storage_class.go:127:26: R004: ResourceData.Set() incompatible value type: *k8s.io/api/core/v1.PersistentVolumeReclaimPolicy
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_storage_class.go:128:31: R004: ResourceData.Set() incompatible value type: *k8s.io/api/storage/v1.VolumeBindingMode
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/data_source_kubernetes_config_map.go:14:12: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/data_source_kubernetes_config_map.go:19:19: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/data_source_kubernetes_secret.go:14:12: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/data_source_kubernetes_service.go:99:19: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/data_source_kubernetes_storage_class.go:12:18: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_config_map.go:27:19: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_config_map.go:33:12: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_deployment.go:118:26: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_limit_range.go:40:21: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_limit_range.go:45:29: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_limit_range.go:51:17: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_limit_range.go:56:37: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_limit_range.go:61:17: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_replication_controller.go:55:19: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_secret.go:27:12: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_service.go:123:19: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/resource_kubernetes_storage_class.go:28:18: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/schema_job_spec.go:111:22: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/schema_label_selector.go:39:19: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/schema_persistent_volume_claim.go:49:16: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/schema_persistent_volume_claim.go:55:18: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/schema_pod_spec.go:191:20: S006: schema of TypeMap should include Elem
/Users/aareet/go/src/github.com/aareet/terraform-provider-kubernetes/kubernetes/schema_volume_source.go:270:17: S006: schema of TypeMap should include Elem

Community Note

  • Please vote on this issue by adding a 馃憤 reaction to the original issue to help the community and maintainers prioritize this request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment
acknowledged bug good first issue help wanted technical-debt

Most helpful comment

I'll start looking into this issue.

All 15 comments

I'll start looking into this issue.

Created a PR for the acceptance tests linter errors. As there are so many updates from linter, I'm going to separate these changes into a few PRs. I have ran these tests locally using 'make test', if someone could run the full sweet and verify that would be much appreciated as I don't have access to a running cluster currently.

Thanks @teddylear - we are working on some fixes that need to be made to our test infrastructure in the next two weeks to make our tests more reliable. Once that鈥檚 complete, I鈥檒l run the full acceptance suite on your PR and report back. Just FYI you may need to rebase once we have those fixes. Appreciate the work you鈥檝e put into this!

@aareet Thanks for the update. Please let me know when I'm good to rebase. I'll fix the rest of the linter issues as well once this first PR is merged, I figured just doing the Acceptance test fixes was a good stopping point as there are a lot of changes.

I can continue to work on remaining linter errors as well. Should I also create a separate issue for adding the linter to the CI/ make file after these are resolved? I assume the linter errors want to be caught moving forward.

Yes please, the eventual goal is to have the linter running on every PR to keep our code linted.

Oh nice, that would be awesome! FYI, this line exists to install tfproviderlint in the makefile. It's a start, anyway.

https://github.com/hashicorp/terraform-provider-kubernetes/blob/master/GNUmakefile#L74

Created a PR for fixing resource linter errors. I'll start working on the schema linter errors now.

Also have Branch ready fixing the last set of errors (Schema linter checks). I'll put up that PR once the PR for resource linter errors is merged. I'll also create that other issue for adding the tfproviderlint to the repo as part of the standard CI.

@dak1n1 @aareet I can update PR since it's been open a while and has conflicts, but can someone review this soon? Due to the size of this PR the longer it takes to get merged the harder it is to remain up to date.

Didn't notice the second PR, apologies. We're working on a major version upgrade, so please hold off on doing the work to rebase until the next release is out, master is currently under quite a bit of flux.

@aareet Sounds good, let me know when the major release is out and I'll rebase my changes.

Sorry, I just noticed this issue again. We finished the major release. It looks like there are far fewer lint errors now!

$ tfproviderlint ./...
/home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/kubernetes/resource_kubernetes_persistent_volume_test.go:1125:21: AT004: provider declaration should be omitted
/home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/kubernetes/resource_kubernetes_persistent_volume_test.go:1172:21: AT004: provider declaration should be omitted
/home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/kubernetes/resource_kubernetes_persistent_volume_test.go:1222:21: AT004: provider declaration should be omitted
/home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/kubernetes/resource_kubernetes_persistent_volume_test.go:1287:21: AT004: provider declaration should be omitted
/home/dakini/go/src/github.com/hashicorp/terraform-provider-kubernetes/kubernetes/resource_kubernetes_certificate_signing_request.go:131:4: R009: avoid panic() usage

Closing since we got most of these fixed. Another PR is on the way.

Was this page helpful?
0 / 5 - 0 ratings