You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cloudstack.apache.org by Kiran Chavala <ki...@shapeblue.com> on 2025/10/01 16:50:33 UTC
Re: [VOTE] Release Apache CloudStack Terraform Provider v0.6.0 RC-2
Hi Brad
Can you try using the timeout value in provider configuration
https://registry.terraform.io/providers/cloudstack/cloudstack/latest/docs
A value in seconds. This is the time allowed for Cloudstack to complete each asynchronous job triggered. If unset, this can be sourced from the CLOUDSTACK_TIMEOUT environment variable. Otherwise, this will default to 300 seconds
Regards
Kiran
From: Brad House <br...@brad-house.com.INVALID>
Date: Tuesday, 30 September 2025 at 11:42 PM
To: users@cloudstack.apache.org <us...@cloudstack.apache.org>
Subject: Re: [VOTE] Release Apache CloudStack Terraform Provider v0.6.0 RC-2
The rule actually gets created, but it throws the error. I have to
manually delete the rule to re-add it and test again. I tried adding
your depends_on clause just to see, but it still fails.
It does take about 30s (even though it prints 20s) for it to fail, maybe
there's a timeout and my system is just slow (it is a test lab on 7yr
old hw).
Can I do something to see a network trace? I enabled TF_LOG=TRACE and
it doesn't really show much:
cloudstack_port_forward.bastion: Still creating... [00m20s elapsed]
2025-09-30T18:10:07.464Z [TRACE] dag/walk: vertex
"provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)" is
waiting for "cloudstack_port_forward.bastion"
2025-09-30T18:10:07.465Z [TRACE] dag/walk: vertex "root" is waiting for
"provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)"
2025-09-30T18:10:12.469Z [TRACE] dag/walk: vertex "root" is waiting for
"provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)"
2025-09-30T18:10:12.469Z [TRACE] dag/walk: vertex
"provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)" is
waiting for "cloudstack_port_forward.bastion"
2025-09-30T18:10:16.347Z [TRACE] provider.terraform-provider-cloudstack:
Called downstream:
@caller=github.com/hashicorp/terraform-plugin-sdk/v2@v2.33.0/helper/schema/resource.go:910
@module=sdk.helper_schema
tf_provider_addr=registry.terraform.io/cloudstack/cloudstack
tf_resource_type=cloudstack_port_forward tf_rpc=ApplyResourceChange
tf_mux_provider=tf5to6server.v5tov6Server
tf_req_id=c8dcb1e6-d571-7d29-8136-8bf92a942554
timestamp=2025-09-30T18:10:16.347Z
2025-09-30T18:10:16.347Z [TRACE] provider.terraform-provider-cloudstack:
Received downstream response:
tf_req_id=c8dcb1e6-d571-7d29-8136-8bf92a942554
tf_resource_type=cloudstack_port_forward
@caller=github.com/hashicorp/terraform-plugin-go@v0.24.0/tfprotov6/internal/tf6serverlogging/downstream_request.go:42
@module=sdk.proto diagnostic_warning_count=0
tf_provider_addr=registry.terraform.io/cloudstack/cloudstack
tf_rpc=ApplyResourceChange diagnostic_error_count=0 tf_proto_version=6.6
tf_req_duration_ms=28888 timestamp=2025-09-30T18:10:16.347Z
2025-09-30T18:10:16.347Z [TRACE] provider.terraform-provider-cloudstack:
Served request: @module=sdk.proto tf_proto_version=6.6
tf_provider_addr=registry.terraform.io/cloudstack/cloudstack
@caller=github.com/hashicorp/terraform-plugin-go@v0.24.0/tfprotov6/tf6server/server.go:878
tf_req_id=c8dcb1e6-d571-7d29-8136-8bf92a942554
tf_resource_type=cloudstack_port_forward tf_rpc=ApplyResourceChange
timestamp=2025-09-30T18:10:16.347Z
2025-09-30T18:10:16.348Z [TRACE] maybeTainted:
cloudstack_port_forward.bastion encountered an error during creation, so
it is now marked as tainted
2025-09-30T18:10:16.348Z [TRACE] terraform.contextPlugins: Schema for
provider "registry.terraform.io/cloudstack/cloudstack" is in the global
cache
2025-09-30T18:10:16.348Z [TRACE]
NodeAbstractResouceInstance.writeResourceInstanceState to workingState
for cloudstack_port_forward.bastion
2025-09-30T18:10:16.348Z [TRACE]
NodeAbstractResouceInstance.writeResourceInstanceState: removing state
object for cloudstack_port_forward.bastion
2025-09-30T18:10:16.348Z [TRACE] evalApplyProvisioners:
cloudstack_port_forward.bastion is tainted, so skipping provisioning
2025-09-30T18:10:16.348Z [TRACE] maybeTainted:
cloudstack_port_forward.bastion was already tainted, so nothing to do
2025-09-30T18:10:16.348Z [TRACE] terraform.contextPlugins: Schema for
provider "registry.terraform.io/cloudstack/cloudstack" is in the global
cache
2025-09-30T18:10:16.348Z [TRACE]
NodeAbstractResouceInstance.writeResourceInstanceState to workingState
for cloudstack_port_forward.bastion
2025-09-30T18:10:16.348Z [TRACE]
NodeAbstractResouceInstance.writeResourceInstanceState: removing state
object for cloudstack_port_forward.bastion
2025-09-30T18:10:16.349Z [TRACE] statemgr.Filesystem: creating backup
snapshot at terraform.tfstate.backup
2025-09-30T18:10:16.351Z [TRACE] statemgr.Filesystem: state has changed
since last snapshot, so incrementing serial to 600
2025-09-30T18:10:16.351Z [TRACE] statemgr.Filesystem: writing snapshot
at terraform.tfstate
2025-09-30T18:10:16.356Z [DEBUG] State storage *statemgr.Filesystem
declined to persist a state snapshot
2025-09-30T18:10:16.356Z [ERROR] vertex
"cloudstack_port_forward.bastion" error: Provider produced inconsistent
result after apply
2025-09-30T18:10:16.356Z [TRACE] vertex
"cloudstack_port_forward.bastion": visit complete, with errors
2025-09-30T18:10:16.356Z [TRACE] dag/walk: upstream of
"provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)"
errored, so skipping
2025-09-30T18:10:16.356Z [TRACE] dag/walk: upstream of "root" errored,
so skipping
2025-09-30T18:10:16.356Z [TRACE] terraform.contextPlugins: Schema for
provider "registry.terraform.io/cloudstack/cloudstack" is in the global
cache
2025-09-30T18:10:16.356Z [TRACE] statemgr.Filesystem: have already
backed up original terraform.tfstate to terraform.tfstate.backup on a
previous write
2025-09-30T18:10:16.357Z [TRACE] statemgr.Filesystem: state has changed
since last snapshot, so incrementing serial to 601
2025-09-30T18:10:16.357Z [TRACE] statemgr.Filesystem: writing snapshot
at terraform.tfstate
On 9/30/25 1:51 PM, Kiran Chavala wrote:
>
> Hi Brad
>
> I am not facing the issue , here is the terraform config that I have used
>
> screenshot
>
>
> https://prnt.sc/8FOLXkgwmYWm
>
> ---------
>
> resource "cloudstack_ipaddress" "bastion" {
> vpc_id = "b12facb3-5787-4ce9-bee2-0ea8d676e26d"
> zone = "fe54a4ca-6ca8-4ac9-9769-dbc1244f138b"
> }
>
> resource "cloudstack_port_forward" "bastion" {
> ip_address_id = cloudstack_ipaddress.bastion.id
>
> forward {
> protocol = "tcp"
> private_port = 22
> public_port = 5022
> virtual_machine_id = "92e55318-2ae3-457c-811a-d6885efb381c"
> }
> depends_on = [
> cloudstack_ipaddress.bastion
> ]
> }
>
>
>
> terraform apply
>
> Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
> + create
>
> Terraform will perform the following actions:
>
> # cloudstack_ipaddress.bastion will be created
> + resource "cloudstack_ipaddress" "bastion" {
> + id = (known after apply)
> + ip_address = (known after apply)
> + is_portable = false
> + is_source_nat = (known after apply)
> + project = (known after apply)
> + tags = (known after apply)
> + vpc_id = "b12facb3-5787-4ce9-bee2-0ea8d676e26d"
> + zone = "fe54a4ca-6ca8-4ac9-9769-dbc1244f138b"
> }
>
> # cloudstack_port_forward.bastion will be created
> + resource "cloudstack_port_forward" "bastion" {
> + id = (known after apply)
> + ip_address_id = (known after apply)
> + managed = false
>
> + forward {
> + private_end_port = (known after apply)
> + private_port = 22
> + protocol = "tcp"
> + public_end_port = (known after apply)
> + public_port = 5022
> + uuid = (known after apply)
> + virtual_machine_id = "92e55318-2ae3-457c-811a-d6885efb381c"
> # (1 unchanged attribute hidden)
> }
> }
>
> Plan: 2 to add, 0 to change, 0 to destroy.
>
> Do you want to perform these actions?
> Terraform will perform the actions described above.
> Only 'yes' will be accepted to approve.
>
> Enter a value: yes
>
> cloudstack_ipaddress.bastion: Creating...
> cloudstack_ipaddress.bastion: Creation complete after 1s [id=ae73e8e4-93ea-46de-95ff-eece5828cdb5]
> cloudstack_port_forward.bastion: Creating...
> cloudstack_port_forward.bastion: Creation complete after 5s [id=ae73e8e4-93ea-46de-95ff-eece5828cdb5]
>
>
>
>
> Regards
> kiran
>
>
>
>
>
> From: Brad House <br...@brad-house.com.INVALID>
> Date: Tuesday, 30 September 2025 at 10:42 PM
> To: users@cloudstack.apache.org <us...@cloudstack.apache.org>
> Subject: Re: [VOTE] Release Apache CloudStack Terraform Provider v0.6.0 RC-2
> It appears port forwarding is still broken even though this discussion
> indicated it was fixed:
>
> https://github.com/apache/cloudstack-terraform-provider/issues/227
>
> $ terraform init -upgrade
> ...
> Initializing provider plugins...
> - Finding cloudstack/cloudstack versions matching "0.6.0-rc2"...
> - Installing cloudstack/cloudstack v0.6.0-rc2...
> - Installed cloudstack/cloudstack v0.6.0-rc2 (self-signed, key ID
> 7B3F1C5E93F97FAB)
>
>
>
> Terraform will perform the following actions:
>
> # cloudstack_port_forward.bastion will be created
> + resource "cloudstack_port_forward" "bastion" {
> + id = (known after apply)
> + ip_address_id = "02aae2fe-ae43-4030-8123-8967931fd7e1"
> + managed = false
>
> + forward {
> + private_end_port = (known after apply)
> + private_port = 22
> + protocol = "tcp"
> + public_end_port = (known after apply)
> + public_port = 5022
> + uuid = (known after apply)
> + virtual_machine_id = "bebcac94-65f5-4c73-8586-e6e860bcc17e"
> # (1 unchanged attribute hidden)
> }
> }
>
> Plan: 1 to add, 0 to change, 0 to destroy.
>
> Do you want to perform these actions?
> Terraform will perform the actions described above.
> Only 'yes' will be accepted to approve.
>
> Enter a value: yes
>
> cloudstack_port_forward.bastion: Creating...
> cloudstack_port_forward.bastion: Still creating... [00m10s elapsed]
> cloudstack_port_forward.bastion: Still creating... [00m20s elapsed]
> ╷
> │ Error: Provider produced inconsistent result after apply
> │
> │ When applying changes to cloudstack_port_forward.bastion, provider
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"]" produced an
> unexpected new value: Root object
> │ was present, but now absent.
> │
> │ This is a bug in the provider, which should be reported in the
> provider's own issue tracker.
> ╵
>
> On 9/30/25 5:30 AM, Kiran Chavala wrote:
>> Hi ALL
>>
>> I've created a CloudStack Terraform Provider release candidate for version
>> 0.6.0, with the following artefacts up for a vote:
>>
>> Git Branch and Commit SH:
>>
>> https://github.com/cloudstack/terraform-provider-cloudstack
>>
>> Commit: 919a358fcc951724c2364ee363a9a055258b1fc3
>>
>> Source release (checksums and signatures are available at the same
>> location):
>>
>> https://dist.apache.org/repos/dist/dev/cloudstack/cloudstack-terraform-provider-0.6.0/
>>
>> PGP release keys (signed using E03379CB066175FAC2BC9E027B3F1C5E93F97FAB):
>>
>> https://dist.apache.org/repos/dist/release/cloudstack/KEYS
>>
>> For testing/voting purposes, you can use the provider
>>
>> terraform {
>> required_providers {
>> cloudstack = {
>> source = "cloudstack/cloudstack"
>> version = "0.6.0-rc2"
>> }
>> }
>> }
>>
>>
>>
>> Vote will be open for 72 hours.
>>
>> For sanity in tallying the vote, can PMC members please be sure to indicate
>> "(binding)" with their vote?
>>
>> [ ] +1 approve
>> [ ] +0 no opinion
>> [ ] -1 disapprove (and reason why)
>>
Re: [VOTE] Release Apache CloudStack Terraform Provider v0.6.0 RC-2
Posted by Kiran Chavala <ki...@shapeblue.com>.
Hi Brad
Could you please check the cloudstack management server logs (/var/log/cloudstack/management/management-server.log) to see if there is any exception.
Also can you check directly via the api
https://cloudstack.apache.org/api/apidocs-4.21/apis/createPortForwardingRule.html
Regards
Kiran
From: Brad House <br...@brad-house.com.INVALID>
Date: Wednesday, 1 October 2025 at 11:15 PM
To: users@cloudstack.apache.org <us...@cloudstack.apache.org>
Subject: Re: [VOTE] Release Apache CloudStack Terraform Provider v0.6.0 RC-2
that's not set at all ... so it should be the default 300, no? But its
having an issue at 30s.
By the way, I have another cluster I just spun up on different hardware,
but otherwise identical and it too has the same problem.
Both are running 4.21.0
I'm not familiar enough with the internals here, what would I need to do
to investigate this further?
On 10/1/25 12:50 PM, Kiran Chavala wrote:
> Hi Brad
>
>
>
> Can you try using the timeout value in provider configuration
>
> https://registry.terraform.io/providers/cloudstack/cloudstack/latest/docs
>
>
> A value in seconds. This is the time allowed for Cloudstack to complete each asynchronous job triggered. If unset, this can be sourced from the CLOUDSTACK_TIMEOUT environment variable. Otherwise, this will default to 300 seconds
>
> Regards
> Kiran
>
>
>
>
>
>
> From: Brad House <br...@brad-house.com.INVALID>
> Date: Tuesday, 30 September 2025 at 11:42 PM
> To: users@cloudstack.apache.org <us...@cloudstack.apache.org>
> Subject: Re: [VOTE] Release Apache CloudStack Terraform Provider v0.6.0 RC-2
> The rule actually gets created, but it throws the error. I have to
> manually delete the rule to re-add it and test again. I tried adding
> your depends_on clause just to see, but it still fails.
>
> It does take about 30s (even though it prints 20s) for it to fail, maybe
> there's a timeout and my system is just slow (it is a test lab on 7yr
> old hw).
>
> Can I do something to see a network trace? I enabled TF_LOG=TRACE and
> it doesn't really show much:
>
> cloudstack_port_forward.bastion: Still creating... [00m20s elapsed]
> 2025-09-30T18:10:07.464Z [TRACE] dag/walk: vertex
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)" is
> waiting for "cloudstack_port_forward.bastion"
> 2025-09-30T18:10:07.465Z [TRACE] dag/walk: vertex "root" is waiting for
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)"
> 2025-09-30T18:10:12.469Z [TRACE] dag/walk: vertex "root" is waiting for
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)"
> 2025-09-30T18:10:12.469Z [TRACE] dag/walk: vertex
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)" is
> waiting for "cloudstack_port_forward.bastion"
> 2025-09-30T18:10:16.347Z [TRACE] provider.terraform-provider-cloudstack:
> Called downstream:
> @caller=github.com/hashicorp/terraform-plugin-sdk/v2@v2.33.0/helper/schema/resource.go:910
> @module=sdk.helper_schema
> tf_provider_addr=registry.terraform.io/cloudstack/cloudstack
> tf_resource_type=cloudstack_port_forward tf_rpc=ApplyResourceChange
> tf_mux_provider=tf5to6server.v5tov6Server
> tf_req_id=c8dcb1e6-d571-7d29-8136-8bf92a942554
> timestamp=2025-09-30T18:10:16.347Z
> 2025-09-30T18:10:16.347Z [TRACE] provider.terraform-provider-cloudstack:
> Received downstream response:
> tf_req_id=c8dcb1e6-d571-7d29-8136-8bf92a942554
> tf_resource_type=cloudstack_port_forward
> @caller=github.com/hashicorp/terraform-plugin-go@v0.24.0/tfprotov6/internal/tf6serverlogging/downstream_request.go:42
> @module=sdk.proto diagnostic_warning_count=0
> tf_provider_addr=registry.terraform.io/cloudstack/cloudstack
> tf_rpc=ApplyResourceChange diagnostic_error_count=0 tf_proto_version=6.6
> tf_req_duration_ms=28888 timestamp=2025-09-30T18:10:16.347Z
> 2025-09-30T18:10:16.347Z [TRACE] provider.terraform-provider-cloudstack:
> Served request: @module=sdk.proto tf_proto_version=6.6
> tf_provider_addr=registry.terraform.io/cloudstack/cloudstack
> @caller=github.com/hashicorp/terraform-plugin-go@v0.24.0/tfprotov6/tf6server/server.go:878
> tf_req_id=c8dcb1e6-d571-7d29-8136-8bf92a942554
> tf_resource_type=cloudstack_port_forward tf_rpc=ApplyResourceChange
> timestamp=2025-09-30T18:10:16.347Z
> 2025-09-30T18:10:16.348Z [TRACE] maybeTainted:
> cloudstack_port_forward.bastion encountered an error during creation, so
> it is now marked as tainted
> 2025-09-30T18:10:16.348Z [TRACE] terraform.contextPlugins: Schema for
> provider "registry.terraform.io/cloudstack/cloudstack" is in the global
> cache
> 2025-09-30T18:10:16.348Z [TRACE]
> NodeAbstractResouceInstance.writeResourceInstanceState to workingState
> for cloudstack_port_forward.bastion
> 2025-09-30T18:10:16.348Z [TRACE]
> NodeAbstractResouceInstance.writeResourceInstanceState: removing state
> object for cloudstack_port_forward.bastion
> 2025-09-30T18:10:16.348Z [TRACE] evalApplyProvisioners:
> cloudstack_port_forward.bastion is tainted, so skipping provisioning
> 2025-09-30T18:10:16.348Z [TRACE] maybeTainted:
> cloudstack_port_forward.bastion was already tainted, so nothing to do
> 2025-09-30T18:10:16.348Z [TRACE] terraform.contextPlugins: Schema for
> provider "registry.terraform.io/cloudstack/cloudstack" is in the global
> cache
> 2025-09-30T18:10:16.348Z [TRACE]
> NodeAbstractResouceInstance.writeResourceInstanceState to workingState
> for cloudstack_port_forward.bastion
> 2025-09-30T18:10:16.348Z [TRACE]
> NodeAbstractResouceInstance.writeResourceInstanceState: removing state
> object for cloudstack_port_forward.bastion
> 2025-09-30T18:10:16.349Z [TRACE] statemgr.Filesystem: creating backup
> snapshot at terraform.tfstate.backup
> 2025-09-30T18:10:16.351Z [TRACE] statemgr.Filesystem: state has changed
> since last snapshot, so incrementing serial to 600
> 2025-09-30T18:10:16.351Z [TRACE] statemgr.Filesystem: writing snapshot
> at terraform.tfstate
> 2025-09-30T18:10:16.356Z [DEBUG] State storage *statemgr.Filesystem
> declined to persist a state snapshot
> 2025-09-30T18:10:16.356Z [ERROR] vertex
> "cloudstack_port_forward.bastion" error: Provider produced inconsistent
> result after apply
> 2025-09-30T18:10:16.356Z [TRACE] vertex
> "cloudstack_port_forward.bastion": visit complete, with errors
> 2025-09-30T18:10:16.356Z [TRACE] dag/walk: upstream of
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)"
> errored, so skipping
> 2025-09-30T18:10:16.356Z [TRACE] dag/walk: upstream of "root" errored,
> so skipping
> 2025-09-30T18:10:16.356Z [TRACE] terraform.contextPlugins: Schema for
> provider "registry.terraform.io/cloudstack/cloudstack" is in the global
> cache
> 2025-09-30T18:10:16.356Z [TRACE] statemgr.Filesystem: have already
> backed up original terraform.tfstate to terraform.tfstate.backup on a
> previous write
> 2025-09-30T18:10:16.357Z [TRACE] statemgr.Filesystem: state has changed
> since last snapshot, so incrementing serial to 601
> 2025-09-30T18:10:16.357Z [TRACE] statemgr.Filesystem: writing snapshot
> at terraform.tfstate
>
> On 9/30/25 1:51 PM, Kiran Chavala wrote:
>> Hi Brad
>>
>> I am not facing the issue , here is the terraform config that I have used
>>
>> screenshot
>>
>>
>> https://prnt.sc/8FOLXkgwmYWm
>>
>> ---------
>>
>> resource "cloudstack_ipaddress" "bastion" {
>> vpc_id = "b12facb3-5787-4ce9-bee2-0ea8d676e26d"
>> zone = "fe54a4ca-6ca8-4ac9-9769-dbc1244f138b"
>> }
>>
>> resource "cloudstack_port_forward" "bastion" {
>> ip_address_id = cloudstack_ipaddress.bastion.id
>>
>> forward {
>> protocol = "tcp"
>> private_port = 22
>> public_port = 5022
>> virtual_machine_id = "92e55318-2ae3-457c-811a-d6885efb381c"
>> }
>> depends_on = [
>> cloudstack_ipaddress.bastion
>> ]
>> }
>>
>>
>>
>> terraform apply
>>
>> Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
>> + create
>>
>> Terraform will perform the following actions:
>>
>> # cloudstack_ipaddress.bastion will be created
>> + resource "cloudstack_ipaddress" "bastion" {
>> + id = (known after apply)
>> + ip_address = (known after apply)
>> + is_portable = false
>> + is_source_nat = (known after apply)
>> + project = (known after apply)
>> + tags = (known after apply)
>> + vpc_id = "b12facb3-5787-4ce9-bee2-0ea8d676e26d"
>> + zone = "fe54a4ca-6ca8-4ac9-9769-dbc1244f138b"
>> }
>>
>> # cloudstack_port_forward.bastion will be created
>> + resource "cloudstack_port_forward" "bastion" {
>> + id = (known after apply)
>> + ip_address_id = (known after apply)
>> + managed = false
>>
>> + forward {
>> + private_end_port = (known after apply)
>> + private_port = 22
>> + protocol = "tcp"
>> + public_end_port = (known after apply)
>> + public_port = 5022
>> + uuid = (known after apply)
>> + virtual_machine_id = "92e55318-2ae3-457c-811a-d6885efb381c"
>> # (1 unchanged attribute hidden)
>> }
>> }
>>
>> Plan: 2 to add, 0 to change, 0 to destroy.
>>
>> Do you want to perform these actions?
>> Terraform will perform the actions described above.
>> Only 'yes' will be accepted to approve.
>>
>> Enter a value: yes
>>
>> cloudstack_ipaddress.bastion: Creating...
>> cloudstack_ipaddress.bastion: Creation complete after 1s [id=ae73e8e4-93ea-46de-95ff-eece5828cdb5]
>> cloudstack_port_forward.bastion: Creating...
>> cloudstack_port_forward.bastion: Creation complete after 5s [id=ae73e8e4-93ea-46de-95ff-eece5828cdb5]
>>
>>
>>
>>
>> Regards
>> kiran
>>
>>
>>
>>
>>
>> From: Brad House <br...@brad-house.com.INVALID>
>> Date: Tuesday, 30 September 2025 at 10:42 PM
>> To: users@cloudstack.apache.org <us...@cloudstack.apache.org>
>> Subject: Re: [VOTE] Release Apache CloudStack Terraform Provider v0.6.0 RC-2
>> It appears port forwarding is still broken even though this discussion
>> indicated it was fixed:
>>
>> https://github.com/apache/cloudstack-terraform-provider/issues/227
>>
>> $ terraform init -upgrade
>> ...
>> Initializing provider plugins...
>> - Finding cloudstack/cloudstack versions matching "0.6.0-rc2"...
>> - Installing cloudstack/cloudstack v0.6.0-rc2...
>> - Installed cloudstack/cloudstack v0.6.0-rc2 (self-signed, key ID
>> 7B3F1C5E93F97FAB)
>>
>>
>>
>> Terraform will perform the following actions:
>>
>> # cloudstack_port_forward.bastion will be created
>> + resource "cloudstack_port_forward" "bastion" {
>> + id = (known after apply)
>> + ip_address_id = "02aae2fe-ae43-4030-8123-8967931fd7e1"
>> + managed = false
>>
>> + forward {
>> + private_end_port = (known after apply)
>> + private_port = 22
>> + protocol = "tcp"
>> + public_end_port = (known after apply)
>> + public_port = 5022
>> + uuid = (known after apply)
>> + virtual_machine_id = "bebcac94-65f5-4c73-8586-e6e860bcc17e"
>> # (1 unchanged attribute hidden)
>> }
>> }
>>
>> Plan: 1 to add, 0 to change, 0 to destroy.
>>
>> Do you want to perform these actions?
>> Terraform will perform the actions described above.
>> Only 'yes' will be accepted to approve.
>>
>> Enter a value: yes
>>
>> cloudstack_port_forward.bastion: Creating...
>> cloudstack_port_forward.bastion: Still creating... [00m10s elapsed]
>> cloudstack_port_forward.bastion: Still creating... [00m20s elapsed]
>> ╷
>> │ Error: Provider produced inconsistent result after apply
>> │
>> │ When applying changes to cloudstack_port_forward.bastion, provider
>> "provider[\"registry.terraform.io/cloudstack/cloudstack\"]" produced an
>> unexpected new value: Root object
>> │ was present, but now absent.
>> │
>> │ This is a bug in the provider, which should be reported in the
>> provider's own issue tracker.
>> ╵
>>
>> On 9/30/25 5:30 AM, Kiran Chavala wrote:
>>> Hi ALL
>>>
>>> I've created a CloudStack Terraform Provider release candidate for version
>>> 0.6.0, with the following artefacts up for a vote:
>>>
>>> Git Branch and Commit SH:
>>>
>>> https://github.com/cloudstack/terraform-provider-cloudstack
>>>
>>> Commit: 919a358fcc951724c2364ee363a9a055258b1fc3
>>>
>>> Source release (checksums and signatures are available at the same
>>> location):
>>>
>>> https://dist.apache.org/repos/dist/dev/cloudstack/cloudstack-terraform-provider-0.6.0/
>>>
>>> PGP release keys (signed using E03379CB066175FAC2BC9E027B3F1C5E93F97FAB):
>>>
>>> https://dist.apache.org/repos/dist/release/cloudstack/KEYS
>>>
>>> For testing/voting purposes, you can use the provider
>>>
>>> terraform {
>>> required_providers {
>>> cloudstack = {
>>> source = "cloudstack/cloudstack"
>>> version = "0.6.0-rc2"
>>> }
>>> }
>>> }
>>>
>>>
>>>
>>> Vote will be open for 72 hours.
>>>
>>> For sanity in tallying the vote, can PMC members please be sure to indicate
>>> "(binding)" with their vote?
>>>
>>> [ ] +1 approve
>>> [ ] +0 no opinion
>>> [ ] -1 disapprove (and reason why)
>>>
Re: [VOTE] Release Apache CloudStack Terraform Provider v0.6.0 RC-2
Posted by Brad House <br...@brad-house.com.INVALID>.
that's not set at all ... so it should be the default 300, no? But its
having an issue at 30s.
By the way, I have another cluster I just spun up on different hardware,
but otherwise identical and it too has the same problem.
Both are running 4.21.0
I'm not familiar enough with the internals here, what would I need to do
to investigate this further?
On 10/1/25 12:50 PM, Kiran Chavala wrote:
> Hi Brad
>
>
>
> Can you try using the timeout value in provider configuration
>
> https://registry.terraform.io/providers/cloudstack/cloudstack/latest/docs
>
>
> A value in seconds. This is the time allowed for Cloudstack to complete each asynchronous job triggered. If unset, this can be sourced from the CLOUDSTACK_TIMEOUT environment variable. Otherwise, this will default to 300 seconds
>
> Regards
> Kiran
>
>
>
>
>
>
> From: Brad House <br...@brad-house.com.INVALID>
> Date: Tuesday, 30 September 2025 at 11:42 PM
> To: users@cloudstack.apache.org <us...@cloudstack.apache.org>
> Subject: Re: [VOTE] Release Apache CloudStack Terraform Provider v0.6.0 RC-2
> The rule actually gets created, but it throws the error. I have to
> manually delete the rule to re-add it and test again. I tried adding
> your depends_on clause just to see, but it still fails.
>
> It does take about 30s (even though it prints 20s) for it to fail, maybe
> there's a timeout and my system is just slow (it is a test lab on 7yr
> old hw).
>
> Can I do something to see a network trace? I enabled TF_LOG=TRACE and
> it doesn't really show much:
>
> cloudstack_port_forward.bastion: Still creating... [00m20s elapsed]
> 2025-09-30T18:10:07.464Z [TRACE] dag/walk: vertex
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)" is
> waiting for "cloudstack_port_forward.bastion"
> 2025-09-30T18:10:07.465Z [TRACE] dag/walk: vertex "root" is waiting for
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)"
> 2025-09-30T18:10:12.469Z [TRACE] dag/walk: vertex "root" is waiting for
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)"
> 2025-09-30T18:10:12.469Z [TRACE] dag/walk: vertex
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)" is
> waiting for "cloudstack_port_forward.bastion"
> 2025-09-30T18:10:16.347Z [TRACE] provider.terraform-provider-cloudstack:
> Called downstream:
> @caller=github.com/hashicorp/terraform-plugin-sdk/v2@v2.33.0/helper/schema/resource.go:910
> @module=sdk.helper_schema
> tf_provider_addr=registry.terraform.io/cloudstack/cloudstack
> tf_resource_type=cloudstack_port_forward tf_rpc=ApplyResourceChange
> tf_mux_provider=tf5to6server.v5tov6Server
> tf_req_id=c8dcb1e6-d571-7d29-8136-8bf92a942554
> timestamp=2025-09-30T18:10:16.347Z
> 2025-09-30T18:10:16.347Z [TRACE] provider.terraform-provider-cloudstack:
> Received downstream response:
> tf_req_id=c8dcb1e6-d571-7d29-8136-8bf92a942554
> tf_resource_type=cloudstack_port_forward
> @caller=github.com/hashicorp/terraform-plugin-go@v0.24.0/tfprotov6/internal/tf6serverlogging/downstream_request.go:42
> @module=sdk.proto diagnostic_warning_count=0
> tf_provider_addr=registry.terraform.io/cloudstack/cloudstack
> tf_rpc=ApplyResourceChange diagnostic_error_count=0 tf_proto_version=6.6
> tf_req_duration_ms=28888 timestamp=2025-09-30T18:10:16.347Z
> 2025-09-30T18:10:16.347Z [TRACE] provider.terraform-provider-cloudstack:
> Served request: @module=sdk.proto tf_proto_version=6.6
> tf_provider_addr=registry.terraform.io/cloudstack/cloudstack
> @caller=github.com/hashicorp/terraform-plugin-go@v0.24.0/tfprotov6/tf6server/server.go:878
> tf_req_id=c8dcb1e6-d571-7d29-8136-8bf92a942554
> tf_resource_type=cloudstack_port_forward tf_rpc=ApplyResourceChange
> timestamp=2025-09-30T18:10:16.347Z
> 2025-09-30T18:10:16.348Z [TRACE] maybeTainted:
> cloudstack_port_forward.bastion encountered an error during creation, so
> it is now marked as tainted
> 2025-09-30T18:10:16.348Z [TRACE] terraform.contextPlugins: Schema for
> provider "registry.terraform.io/cloudstack/cloudstack" is in the global
> cache
> 2025-09-30T18:10:16.348Z [TRACE]
> NodeAbstractResouceInstance.writeResourceInstanceState to workingState
> for cloudstack_port_forward.bastion
> 2025-09-30T18:10:16.348Z [TRACE]
> NodeAbstractResouceInstance.writeResourceInstanceState: removing state
> object for cloudstack_port_forward.bastion
> 2025-09-30T18:10:16.348Z [TRACE] evalApplyProvisioners:
> cloudstack_port_forward.bastion is tainted, so skipping provisioning
> 2025-09-30T18:10:16.348Z [TRACE] maybeTainted:
> cloudstack_port_forward.bastion was already tainted, so nothing to do
> 2025-09-30T18:10:16.348Z [TRACE] terraform.contextPlugins: Schema for
> provider "registry.terraform.io/cloudstack/cloudstack" is in the global
> cache
> 2025-09-30T18:10:16.348Z [TRACE]
> NodeAbstractResouceInstance.writeResourceInstanceState to workingState
> for cloudstack_port_forward.bastion
> 2025-09-30T18:10:16.348Z [TRACE]
> NodeAbstractResouceInstance.writeResourceInstanceState: removing state
> object for cloudstack_port_forward.bastion
> 2025-09-30T18:10:16.349Z [TRACE] statemgr.Filesystem: creating backup
> snapshot at terraform.tfstate.backup
> 2025-09-30T18:10:16.351Z [TRACE] statemgr.Filesystem: state has changed
> since last snapshot, so incrementing serial to 600
> 2025-09-30T18:10:16.351Z [TRACE] statemgr.Filesystem: writing snapshot
> at terraform.tfstate
> 2025-09-30T18:10:16.356Z [DEBUG] State storage *statemgr.Filesystem
> declined to persist a state snapshot
> 2025-09-30T18:10:16.356Z [ERROR] vertex
> "cloudstack_port_forward.bastion" error: Provider produced inconsistent
> result after apply
> 2025-09-30T18:10:16.356Z [TRACE] vertex
> "cloudstack_port_forward.bastion": visit complete, with errors
> 2025-09-30T18:10:16.356Z [TRACE] dag/walk: upstream of
> "provider[\"registry.terraform.io/cloudstack/cloudstack\"] (close)"
> errored, so skipping
> 2025-09-30T18:10:16.356Z [TRACE] dag/walk: upstream of "root" errored,
> so skipping
> 2025-09-30T18:10:16.356Z [TRACE] terraform.contextPlugins: Schema for
> provider "registry.terraform.io/cloudstack/cloudstack" is in the global
> cache
> 2025-09-30T18:10:16.356Z [TRACE] statemgr.Filesystem: have already
> backed up original terraform.tfstate to terraform.tfstate.backup on a
> previous write
> 2025-09-30T18:10:16.357Z [TRACE] statemgr.Filesystem: state has changed
> since last snapshot, so incrementing serial to 601
> 2025-09-30T18:10:16.357Z [TRACE] statemgr.Filesystem: writing snapshot
> at terraform.tfstate
>
> On 9/30/25 1:51 PM, Kiran Chavala wrote:
>> Hi Brad
>>
>> I am not facing the issue , here is the terraform config that I have used
>>
>> screenshot
>>
>>
>> https://prnt.sc/8FOLXkgwmYWm
>>
>> ---------
>>
>> resource "cloudstack_ipaddress" "bastion" {
>> vpc_id = "b12facb3-5787-4ce9-bee2-0ea8d676e26d"
>> zone = "fe54a4ca-6ca8-4ac9-9769-dbc1244f138b"
>> }
>>
>> resource "cloudstack_port_forward" "bastion" {
>> ip_address_id = cloudstack_ipaddress.bastion.id
>>
>> forward {
>> protocol = "tcp"
>> private_port = 22
>> public_port = 5022
>> virtual_machine_id = "92e55318-2ae3-457c-811a-d6885efb381c"
>> }
>> depends_on = [
>> cloudstack_ipaddress.bastion
>> ]
>> }
>>
>>
>>
>> terraform apply
>>
>> Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
>> + create
>>
>> Terraform will perform the following actions:
>>
>> # cloudstack_ipaddress.bastion will be created
>> + resource "cloudstack_ipaddress" "bastion" {
>> + id = (known after apply)
>> + ip_address = (known after apply)
>> + is_portable = false
>> + is_source_nat = (known after apply)
>> + project = (known after apply)
>> + tags = (known after apply)
>> + vpc_id = "b12facb3-5787-4ce9-bee2-0ea8d676e26d"
>> + zone = "fe54a4ca-6ca8-4ac9-9769-dbc1244f138b"
>> }
>>
>> # cloudstack_port_forward.bastion will be created
>> + resource "cloudstack_port_forward" "bastion" {
>> + id = (known after apply)
>> + ip_address_id = (known after apply)
>> + managed = false
>>
>> + forward {
>> + private_end_port = (known after apply)
>> + private_port = 22
>> + protocol = "tcp"
>> + public_end_port = (known after apply)
>> + public_port = 5022
>> + uuid = (known after apply)
>> + virtual_machine_id = "92e55318-2ae3-457c-811a-d6885efb381c"
>> # (1 unchanged attribute hidden)
>> }
>> }
>>
>> Plan: 2 to add, 0 to change, 0 to destroy.
>>
>> Do you want to perform these actions?
>> Terraform will perform the actions described above.
>> Only 'yes' will be accepted to approve.
>>
>> Enter a value: yes
>>
>> cloudstack_ipaddress.bastion: Creating...
>> cloudstack_ipaddress.bastion: Creation complete after 1s [id=ae73e8e4-93ea-46de-95ff-eece5828cdb5]
>> cloudstack_port_forward.bastion: Creating...
>> cloudstack_port_forward.bastion: Creation complete after 5s [id=ae73e8e4-93ea-46de-95ff-eece5828cdb5]
>>
>>
>>
>>
>> Regards
>> kiran
>>
>>
>>
>>
>>
>> From: Brad House <br...@brad-house.com.INVALID>
>> Date: Tuesday, 30 September 2025 at 10:42 PM
>> To: users@cloudstack.apache.org <us...@cloudstack.apache.org>
>> Subject: Re: [VOTE] Release Apache CloudStack Terraform Provider v0.6.0 RC-2
>> It appears port forwarding is still broken even though this discussion
>> indicated it was fixed:
>>
>> https://github.com/apache/cloudstack-terraform-provider/issues/227
>>
>> $ terraform init -upgrade
>> ...
>> Initializing provider plugins...
>> - Finding cloudstack/cloudstack versions matching "0.6.0-rc2"...
>> - Installing cloudstack/cloudstack v0.6.0-rc2...
>> - Installed cloudstack/cloudstack v0.6.0-rc2 (self-signed, key ID
>> 7B3F1C5E93F97FAB)
>>
>>
>>
>> Terraform will perform the following actions:
>>
>> # cloudstack_port_forward.bastion will be created
>> + resource "cloudstack_port_forward" "bastion" {
>> + id = (known after apply)
>> + ip_address_id = "02aae2fe-ae43-4030-8123-8967931fd7e1"
>> + managed = false
>>
>> + forward {
>> + private_end_port = (known after apply)
>> + private_port = 22
>> + protocol = "tcp"
>> + public_end_port = (known after apply)
>> + public_port = 5022
>> + uuid = (known after apply)
>> + virtual_machine_id = "bebcac94-65f5-4c73-8586-e6e860bcc17e"
>> # (1 unchanged attribute hidden)
>> }
>> }
>>
>> Plan: 1 to add, 0 to change, 0 to destroy.
>>
>> Do you want to perform these actions?
>> Terraform will perform the actions described above.
>> Only 'yes' will be accepted to approve.
>>
>> Enter a value: yes
>>
>> cloudstack_port_forward.bastion: Creating...
>> cloudstack_port_forward.bastion: Still creating... [00m10s elapsed]
>> cloudstack_port_forward.bastion: Still creating... [00m20s elapsed]
>> ╷
>> │ Error: Provider produced inconsistent result after apply
>> │
>> │ When applying changes to cloudstack_port_forward.bastion, provider
>> "provider[\"registry.terraform.io/cloudstack/cloudstack\"]" produced an
>> unexpected new value: Root object
>> │ was present, but now absent.
>> │
>> │ This is a bug in the provider, which should be reported in the
>> provider's own issue tracker.
>> ╵
>>
>> On 9/30/25 5:30 AM, Kiran Chavala wrote:
>>> Hi ALL
>>>
>>> I've created a CloudStack Terraform Provider release candidate for version
>>> 0.6.0, with the following artefacts up for a vote:
>>>
>>> Git Branch and Commit SH:
>>>
>>> https://github.com/cloudstack/terraform-provider-cloudstack
>>>
>>> Commit: 919a358fcc951724c2364ee363a9a055258b1fc3
>>>
>>> Source release (checksums and signatures are available at the same
>>> location):
>>>
>>> https://dist.apache.org/repos/dist/dev/cloudstack/cloudstack-terraform-provider-0.6.0/
>>>
>>> PGP release keys (signed using E03379CB066175FAC2BC9E027B3F1C5E93F97FAB):
>>>
>>> https://dist.apache.org/repos/dist/release/cloudstack/KEYS
>>>
>>> For testing/voting purposes, you can use the provider
>>>
>>> terraform {
>>> required_providers {
>>> cloudstack = {
>>> source = "cloudstack/cloudstack"
>>> version = "0.6.0-rc2"
>>> }
>>> }
>>> }
>>>
>>>
>>>
>>> Vote will be open for 72 hours.
>>>
>>> For sanity in tallying the vote, can PMC members please be sure to indicate
>>> "(binding)" with their vote?
>>>
>>> [ ] +1 approve
>>> [ ] +0 no opinion
>>> [ ] -1 disapprove (and reason why)
>>>