When creating a deployment process resource resulting error: Error: Plugin did not respond
Describe the bug When creating the bare minimum resources to create a deployment process: Environments, Lifecycle, Project Group, Project, then finally a deployment process, the process fails.
Steps to reproduce
- Create a TF file with Environments, Lifecycle, Project Group, Project, and Deployment Process
- Run terraform apply
- See error
Expected behavior I expect it to create the resources
Logs and other supporting information TF File (removed the other resources from the log because it was very large)
terraform {
required_providers {
octopusdeploy = {
source = "OctopusDeployLabs/octopusdeploy"
version = "0.7.69"
}
}
}
variable "api_key" {
type = string
}
variable "space_id" {
type = string
}
provider "octopusdeploy" {
alias = "space_terraform"
address = "http://192.168.139.160"
api_key = var.api_key
#space_name = "Terraform Space" # The name of the space
space_id = var.space_id
}
resource "octopusdeploy_environment" "dev" {
allow_dynamic_infrastructure = false
description = "Terraform"
name = "Development"
use_guided_failure = false
provider = octopusdeploy.space_terraform
}
resource "octopusdeploy_environment" "test" {
allow_dynamic_infrastructure = false
description = "Terraform"
name = "Test"
use_guided_failure = false
provider = octopusdeploy.space_terraform
}
resource "octopusdeploy_environment" "prod" {
allow_dynamic_infrastructure = false
description = "Terraform"
name = "Production"
use_guided_failure = false
provider = octopusdeploy.space_terraform
}
resource "octopusdeploy_lifecycle" "life1" {
provider = octopusdeploy.space_terraform
description = "This is the default lifecycle."
name = "Test Lifecycle (OK to Delete)"
release_retention_policy {
quantity_to_keep = 1
should_keep_forever = true
unit = "Days"
}
tentacle_retention_policy {
quantity_to_keep = 30
should_keep_forever = false
unit = "Items"
}
phase {
automatic_deployment_targets = [octopusdeploy_environment.dev.id]
name = "foo"
release_retention_policy {
quantity_to_keep = 1
should_keep_forever = true
unit = "Days"
}
tentacle_retention_policy {
quantity_to_keep = 30
should_keep_forever = false
unit = "Items"
}
}
phase {
is_optional_phase = true
name = "bar"
optional_deployment_targets = [octopusdeploy_environment.test.id]
release_retention_policy {
quantity_to_keep = 1
should_keep_forever = true
unit = "Days"
}
tentacle_retention_policy {
quantity_to_keep = 30
should_keep_forever = false
unit = "Items"
}
}
}
resource "octopusdeploy_project_group" "terraform" {
provider = octopusdeploy.space_terraform
description = "The Terraform project group."
name = "Development Project Group (OK to Delete)"
}
resource "octopusdeploy_project" "proj1" {
#provider = octopusdeploy.space_terraform
space_id = var.space_id
auto_create_release = false
default_guided_failure_mode = "EnvironmentDefault"
default_to_skip_if_already_installed = false
description = "The terraform project."
discrete_channel_release = false
is_disabled = false
is_discrete_channel_release = false
is_version_controlled = false
lifecycle_id = octopusdeploy_lifecycle.life1.id
name = "Development Project (OK to Delete)"
project_group_id = octopusdeploy_project_group.terraform.id
tenanted_deployment_participation = "TenantedOrUntenanted"
connectivity_policy {
allow_deployments_to_no_targets = false
exclude_unhealthy_targets = false
skip_machine_behavior = "SkipUnavailableMachines"
}
template {
default_value = "example-default-value"
help_text = "example-help-test"
label = "example-label"
name = "example-template-value"
display_settings = {
"Octopus.ControlType" : "SingleLineText"
}
}
}
resource "octopusdeploy_deployment_process" "deploymentproc" {
provider = octopusdeploy.space_terraform
project_id = octopusdeploy_project.proj1.id
step {
condition = "Success"
name = "Hello world (using PowerShell)"
package_requirement = "LetOctopusDecide"
start_trigger = "StartAfterPrevious"
run_script_action {
can_be_used_for_project_versioning = false
condition = "Success"
is_disabled = false
is_required = true
name = "Hello world (using PowerShell)"
script_body = <<-EOT
Write-Host 'Hello world, using PowerShell'
#TODO: Experiment with steps of your own :)
Write-Host '[Learn more about the types of steps available in Octopus](https://g.octopushq.com/OnboardingAddStepsLearnMore)'
EOT
run_on_server = true
}
}
step {
condition = "Success"
name = "Hello world (using Bash)"
package_requirement = "LetOctopusDecide"
start_trigger = "StartWithPrevious"
run_script_action {
can_be_used_for_project_versioning = false
condition = "Success"
is_disabled = false
is_required = true
name = "Hello world (using PowerShell)"
script_body = <<-EOT
Write-Host 'Hello world, using PowerShell'
#TODO: Experiment with steps of your own :)
Write-Host '[Learn more about the types of steps available in Octopus](https://g.octopushq.com/OnboardingAddStepsLearnMore)'
EOT
run_on_server = true
}
}
}
TF Apply
Terraform will perform the following actions:
# octopusdeploy_deployment_process.deploymentproc will be created
+ resource "octopusdeploy_deployment_process" "deploymentproc" {
+ branch = (known after apply)
+ id = (known after apply)
+ project_id = (known after apply)
+ space_id = (known after apply)
+ version = (known after apply)
+ step {
+ condition = "Success"
+ condition_expression = (known after apply)
+ id = (known after apply)
+ name = "Hello world (using PowerShell)"
+ package_requirement = "LetOctopusDecide"
+ properties = (known after apply)
+ start_trigger = "StartAfterPrevious"
+ target_roles = (known after apply)
+ action {
+ action_type = (known after apply)
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ run_on_server = (known after apply)
+ tenant_tags = (known after apply)
+ worker_pool_id = (known after apply)
+ worker_pool_variable = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ extract_during_deployment = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
+ apply_terraform_template_action {
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ run_on_server = (known after apply)
+ template_parameters = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ advanced_options {
+ allow_additional_plugin_downloads = (known after apply)
+ apply_parameters = (known after apply)
+ init_parameters = (known after apply)
+ plugin_cache_directory = (known after apply)
+ workspace = (known after apply)
}
+ aws_account {
+ region = (known after apply)
+ use_instance_role = (known after apply)
+ variable = (known after apply)
+ role {
+ arn = (known after apply)
+ external_id = (known after apply)
+ role_session_name = (known after apply)
+ session_duration = (known after apply)
}
}
+ azure_account {
+ variable = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ google_cloud_account {
+ impersonate_service_account = (known after apply)
+ project = (known after apply)
+ region = (known after apply)
+ service_account_emails = (known after apply)
+ use_vm_service_account = (known after apply)
+ variable = (known after apply)
+ zone = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ template {
+ additional_variable_files = (known after apply)
+ directory = (known after apply)
+ run_automatic_file_substitution = (known after apply)
+ target_files = (known after apply)
}
}
+ deploy_kubernetes_secret_action {
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ run_on_server = (known after apply)
+ secret_name = (known after apply)
+ secret_values = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
+ deploy_package_action {
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ windows_service {
+ arguments = (known after apply)
+ create_or_update_service = (known after apply)
+ custom_account_name = (known after apply)
+ custom_account_password = (sensitive value)
+ dependencies = (known after apply)
+ description = (known after apply)
+ display_name = (known after apply)
+ executable_path = (known after apply)
+ service_account = (known after apply)
+ service_name = (known after apply)
+ start_mode = (known after apply)
}
}
+ deploy_windows_service_action {
+ arguments = (known after apply)
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ create_or_update_service = (known after apply)
+ custom_account_name = (known after apply)
+ custom_account_password = (sensitive value)
+ dependencies = (known after apply)
+ description = (known after apply)
+ display_name = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ executable_path = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ service_account = (known after apply)
+ service_name = (known after apply)
+ start_mode = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
+ manual_intervention_action {
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ instructions = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ responsible_teams = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
+ run_kubectl_script_action {
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ run_on_server = (known after apply)
+ script_file_name = (known after apply)
+ script_parameters = (known after apply)
+ script_source = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ extract_during_deployment = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
+ run_script_action {
+ can_be_used_for_project_versioning = false
+ channels = (known after apply)
+ condition = "Success"
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = false
+ is_required = true
+ name = "Hello world (using PowerShell)"
+ properties = (known after apply)
+ run_on_server = true
+ script_body = <<-EOT
Write-Host 'Hello world, using PowerShell'
#TODO: Experiment with steps of your own :)
Write-Host '[Learn more about the types of steps available in Octopus](https://g.octopushq.com/OnboardingAddStepsLearnMore)'
EOT
+ script_source = (known after apply)
+ script_syntax = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ extract_during_deployment = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
}
+ step {
+ condition = "Success"
+ condition_expression = (known after apply)
+ id = (known after apply)
+ name = "Hello world (using Bash)"
+ package_requirement = "LetOctopusDecide"
+ properties = (known after apply)
+ start_trigger = "StartWithPrevious"
+ target_roles = (known after apply)
+ action {
+ action_type = (known after apply)
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ run_on_server = (known after apply)
+ tenant_tags = (known after apply)
+ worker_pool_id = (known after apply)
+ worker_pool_variable = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ extract_during_deployment = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
+ apply_terraform_template_action {
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ run_on_server = (known after apply)
+ template_parameters = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ advanced_options {
+ allow_additional_plugin_downloads = (known after apply)
+ apply_parameters = (known after apply)
+ init_parameters = (known after apply)
+ plugin_cache_directory = (known after apply)
+ workspace = (known after apply)
}
+ aws_account {
+ region = (known after apply)
+ use_instance_role = (known after apply)
+ variable = (known after apply)
+ role {
+ arn = (known after apply)
+ external_id = (known after apply)
+ role_session_name = (known after apply)
+ session_duration = (known after apply)
}
}
+ azure_account {
+ variable = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ google_cloud_account {
+ impersonate_service_account = (known after apply)
+ project = (known after apply)
+ region = (known after apply)
+ service_account_emails = (known after apply)
+ use_vm_service_account = (known after apply)
+ variable = (known after apply)
+ zone = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ template {
+ additional_variable_files = (known after apply)
+ directory = (known after apply)
+ run_automatic_file_substitution = (known after apply)
+ target_files = (known after apply)
}
}
+ deploy_kubernetes_secret_action {
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ run_on_server = (known after apply)
+ secret_name = (known after apply)
+ secret_values = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
+ deploy_package_action {
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ windows_service {
+ arguments = (known after apply)
+ create_or_update_service = (known after apply)
+ custom_account_name = (known after apply)
+ custom_account_password = (sensitive value)
+ dependencies = (known after apply)
+ description = (known after apply)
+ display_name = (known after apply)
+ executable_path = (known after apply)
+ service_account = (known after apply)
+ service_name = (known after apply)
+ start_mode = (known after apply)
}
}
+ deploy_windows_service_action {
+ arguments = (known after apply)
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ create_or_update_service = (known after apply)
+ custom_account_name = (known after apply)
+ custom_account_password = (sensitive value)
+ dependencies = (known after apply)
+ description = (known after apply)
+ display_name = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ executable_path = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ service_account = (known after apply)
+ service_name = (known after apply)
+ start_mode = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
+ manual_intervention_action {
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ instructions = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ responsible_teams = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
+ run_kubectl_script_action {
+ can_be_used_for_project_versioning = (known after apply)
+ channels = (known after apply)
+ condition = (known after apply)
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = (known after apply)
+ is_required = (known after apply)
+ name = (known after apply)
+ notes = (known after apply)
+ properties = (known after apply)
+ run_on_server = (known after apply)
+ script_file_name = (known after apply)
+ script_parameters = (known after apply)
+ script_source = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ extract_during_deployment = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
+ run_script_action {
+ can_be_used_for_project_versioning = false
+ channels = (known after apply)
+ condition = "Success"
+ environments = (known after apply)
+ excluded_environments = (known after apply)
+ features = (known after apply)
+ id = (known after apply)
+ is_disabled = false
+ is_required = true
+ name = "Hello world (using PowerShell)"
+ properties = (known after apply)
+ run_on_server = true
+ script_body = <<-EOT
Write-Host 'Hello world, using PowerShell'
#TODO: Experiment with steps of your own :)
Write-Host '[Learn more about the types of steps available in Octopus](https://g.octopushq.com/OnboardingAddStepsLearnMore)'
EOT
+ script_source = (known after apply)
+ script_syntax = (known after apply)
+ tenant_tags = (known after apply)
+ action_template {
+ community_action_template_id = (known after apply)
+ id = (known after apply)
+ version = (known after apply)
}
+ container {
+ feed_id = (known after apply)
+ image = (known after apply)
}
+ package {
+ acquisition_location = (known after apply)
+ extract_during_deployment = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
+ primary_package {
+ acquisition_location = (known after apply)
+ feed_id = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ package_id = (known after apply)
+ properties = (known after apply)
}
}
}
}
Error
octopusdeploy_project_group.terraform: Creating...
octopusdeploy_environment.test: Creating...
octopusdeploy_environment.dev: Creating...
octopusdeploy_environment.prod: Creating...
octopusdeploy_project_group.terraform: Creation complete after 0s [id=ProjectGroups-304]
octopusdeploy_environment.prod: Creation complete after 0s [id=Environments-529]
octopusdeploy_environment.test: Creation complete after 0s [id=Environments-528]
octopusdeploy_environment.dev: Creation complete after 0s [id=Environments-527]
octopusdeploy_lifecycle.life1: Creating...
octopusdeploy_lifecycle.life1: Creation complete after 1s [id=Lifecycles-384]
octopusdeploy_project.proj1: Creating...
octopusdeploy_project.proj1: Creation complete after 0s [id=Projects-1223]
octopusdeploy_deployment_process.deploymentproc: Creating...
╷
│ Error: Plugin did not respond
│
│ with octopusdeploy_deployment_process.deploymentproc,
│ on main.tf line 144, in resource "octopusdeploy_deployment_process" "deploymentproc":
│ 144: resource "octopusdeploy_deployment_process" "deploymentproc" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The
│ plugin logs may contain more details.
╵
Stack trace from the terraform-provider-octopusdeploy_v0.7.69.exe plugin:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x20 pc=0x6dd3a2]
goroutine 168 [running]:
github.com/OctopusDeploy/terraform-provider-octopusdeploy/octopusdeploy.resourceDeploymentProcessCreate({0xc44108, 0xc000539aa0}, 0xc000a32b80, {0x9a5340, 0xc000254000})
github.com/OctopusDeploy/terraform-provider-octopusdeploy/octopusdeploy/resource_deployment_process.go:62 +0x102
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xc0006e21c0, {0xc44098, 0xc000ab48c0}, 0x2, {0x9a5340, 0xc000254000})
github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:341 +0x12e
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc0006e21c0, {0xc44098, 0xc000ab48c0}, 0xc0005b8410, 0xc000a32180, {0x9a5340, 0xc000254000})
github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:467 +0x871
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc000004180, {0xc44098, 0xc000ab48c0}, 0xc000a37c70)
github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/grpc_provider.go:977 +0xd8a
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ApplyResourceChange(0xc00009c500, {0xc44140, 0xc0007a7ad0}, 0xc000262a10)
github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:810 +0x5eb
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler({0xaca9e0, 0xc00009c500}, {0xc44140, 0xc0007a7ad0}, 0xc000a0fc20, 0x0)
github.com/hashicorp/[email protected]/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:385 +0x170
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0004af180, {0xc53858, 0xc0005dd040}, 0xc00067c360, 0xc00044e240, 0x1247d80, 0x0)
google.golang.org/[email protected]/server.go:1282 +0xccf
google.golang.org/grpc.(*Server).handleStream(0xc0004af180, {0xc53858, 0xc0005dd040}, 0xc00067c360, 0x0)
google.golang.org/[email protected]/server.go:1616 +0xa2a
google.golang.org/grpc.(*Server).serveStreams.func1.2()
google.golang.org/[email protected]/server.go:921 +0x98
created by google.golang.org/grpc.(*Server).serveStreams.func1
google.golang.org/[email protected]/server.go:919 +0x294
Error: The terraform-provider-octopusdeploy_v0.7.69.exe plugin crashed!
This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.
Environment and versions:
- OS:
Windows - Octopus Server Version:
2021.3.8275 - Terraform Version:
v1.1.0 - Octopus Terraform Provider Version:
0.7.69
I can confirm that this is also an issue with creating deployment process steps in cloud instances:
- OS:
Windows - Octopus Cloud Version:
2022.2 (Build 387-hotfix.903) - Terraform Version:
1.1.7 - Octopus Terraform Provider Version:
0.7.69
octopusdeploy_deployment_process.example: Creating... ╷ │ Error: Plugin did not respond │ │ with octopusdeploy_deployment_process.example, │ on main.tf line 15, in resource "octopusdeploy_deployment_process" "example": │ 15: resource "octopusdeploy_deployment_process" "example" { │ │ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details. ╵
Stack trace from the terraform-provider-octopusdeploy_v0.7.69.exe plugin:
panic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x0 addr=0x20 pc=0xccd3a2]
goroutine 104 [running]: github.com/OctopusDeploy/terraform-provider-octopusdeploy/octopusdeploy.resourceDeploymentProcessCreate({0x1234108, 0xc0004d2420}, 0xc0008d9000, {0xf95340, 0xc000252500}) github.com/OctopusDeploy/terraform-provider-octopusdeploy/octopusdeploy/resource_deployment_process.go:62 +0x102 github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xc0006d50a0, {0x1234098, 0xc000354480}, 0x2, {0xf95340, 0xc000252500}) github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:341 +0x12e github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc0006d50a0, {0x1234098, 0xc000354480}, 0xc000687790, 0xc0008d8e80, {0xf95340, 0xc000252500}) github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:467 +0x871 github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc000004030, {0x1234098, 0xc000354480}, 0xc000570280) github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/grpc_provider.go:977 +0xd8a github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ApplyResourceChange(0xc000492280, {0x1234140, 0xc00056e4b0}, 0xc00066c380) github.com/hashicorp/[email protected]/tfprotov5/tf5server/server.go:810 +0x5eb github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler({0x10ba9e0, 0xc000492280}, {0x1234140, 0xc00056e4b0}, 0xc0009984e0, 0x0) github.com/hashicorp/[email protected]/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:385 +0x170 google.golang.org/grpc.(*Server).processUnaryRPC(0xc000562700, {0x1243858, 0xc000701a00}, 0xc00050ab40, 0xc000040c90, 0x1837d80, 0x0) google.golang.org/[email protected]/server.go:1282 +0xccf google.golang.org/grpc.(*Server).handleStream(0xc000562700, {0x1243858, 0xc000701a00}, 0xc00050ab40, 0x0) google.golang.org/[email protected]/server.go:1616 +0xa2a google.golang.org/grpc.(*Server).serveStreams.func1.2() google.golang.org/[email protected]/server.go:921 +0x98 created by google.golang.org/grpc.(*Server).serveStreams.func1 google.golang.org/[email protected]/server.go:919 +0x294
Error: The terraform-provider-octopusdeploy_v0.7.69.exe plugin crashed! main.zip
I was not able to reproduce this issue using v0.10.3.
I will close this issue, if you can still reproduce it in the latest version, please let us know.