Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to clone a Tenant when creating a new Tenant #267

Open
hnrkndrssn opened this issue Aug 14, 2024 · 0 comments
Open

Unable to clone a Tenant when creating a new Tenant #267

hnrkndrssn opened this issue Aug 14, 2024 · 0 comments

Comments

@hnrkndrssn
Copy link
Contributor

Describe the bug
When creating a new tenant that should be cloned from an existing tenant the new tenant is not cloned from the existing tenant.

Discovered when doing some testing in Terraform.

Steps to reproduce

Config

resource "octopusdeploy_tenant" "cloned" {
  name = "Cloned Tenant"
  cloned_from_tenant_id = "Tenants-128"
}

Existing Tenant

{
  "Id": "Tenants-128",
  "Name": "Tenant 001",
  "TenantTags": [
    "Test/Foo"
  ],
  "ProjectEnvironments": {
    "Projects-181": [
      "Environments-101"
    ]
  },
  "SpaceId": "Spaces-1",
  "ClonedFromTenantId": null,
  "Description": "",
  "Slug": "tenant-001",
  "Icon": null,
  "Links": {
    "Self": "/api/Spaces-1/tenants/Tenants-128",
    "Variables": "/api/Spaces-1/tenants/Tenants-128/variables",
    "Web": "/app#/Spaces-1/tenants/Tenants-128",
    "Logo": "/api/Spaces-1/tenants/Tenants-128/logo?cb=0.0.0-local"
  }
}

Created Tenant

{
  "Id": "Tenants-365",
  "Name": "Cloned Tenant",
  "TenantTags": [],
  "ProjectEnvironments": {},
  "SpaceId": "Spaces-1",
  "ClonedFromTenantId": null,
  "Description": "",
  "Slug": "clone-wars",
  "Icon": null,
  "Links": {
    "Self": "/api/Spaces-1/tenants/Tenants-365",
    "Variables": "/api/Spaces-1/tenants/Tenants-365/variables",
    "Web": "/app#/Spaces-1/tenants/Tenants-365",
    "Logo": "/api/Spaces-1/tenants/Tenants-365/logo?cb=0.0.0-local"
  }
}

Expected behavior
I expect the new Tenant to be cloned from the existing Tenant

Logs and other supporting information

tf plan

Terraform will perform the following actions:

  # octopusdeploy_tenant.cloned will be created
  + resource "octopusdeploy_tenant" "cloned" {
      + cloned_from_tenant_id = "Tenants-128"
      + id                    = (known after apply)
      + name                  = "Cloned Tenant"
      + space_id              = (known after apply)
      + tenant_tags           = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + created = {
      + cloned_from_tenant_id = "Tenants-128"
      + description           = null
      + id                    = (known after apply)
      + name                  = "Cloned Tenant"
      + space_id              = (known after apply)
      + tenant_tags           = (known after apply)
    }

tf apply

Terraform will perform the following actions:

  # octopusdeploy_tenant.cloned will be created
  + resource "octopusdeploy_tenant" "cloned" {
      + cloned_from_tenant_id = "Tenants-128"
      + id                    = (known after apply)
      + name                  = "Cloned Tenant"
      + space_id              = (known after apply)
      + tenant_tags           = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + created = {
      + cloned_from_tenant_id = "Tenants-128"
      + description           = null
      + id                    = (known after apply)
      + name                  = "Cloned Tenant"
      + space_id              = (known after apply)
      + tenant_tags           = (known after apply)
    }
octopusdeploy_tenant.cloned: Creating...
octopusdeploy_tenant.cloned: Creation complete after 0s [id=Tenants-366]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Outputs:

created = {
  "cloned_from_tenant_id" = ""
  "description" = ""
  "id" = "Tenants-366"
  "name" = "Cloned Tenant"
  "space_id" = "Spaces-1"
  "tenant_tags" = tolist([])
}

Environment and versions:

  • OS: OSX
  • Octopus Server Version: latest
  • Terraform Version: 1.7.5
  • Octopus Terraform Provider Version: 0.22.1

Additional context
Bug happens due to a mismatch in properties for the Tenant ID to clone from passed to Octopus from the Provider, Octopus is expecting Clone but is passed ClonedFromTenantId.

Bug comes down to the tenant struct passing ClonedFromTenantID to Octopus, but Octopus is expecting Clone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant