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

Fix bug preventing removal of vcs_repo on workspaces #173

Merged
merged 4 commits into from
May 12, 2020

Conversation

lafentres
Copy link
Contributor

@lafentres lafentres commented May 11, 2020

Description

Fixes #91

This PR fixes a bug where tfe_workspace resources with a VCS repo set weren't updating properly when the VCS repo was removed from the Terraform config.

Testing plan

Before fix:

  1. Runterraform init with the following config:
    provider "tfe" {
      hostname = "<YOUR-TFE-HOSTNAME>"
      version  = "0.16.1"
    }
    
    resource "tfe_organization" "test-org" {
      name  = "test-org"
      email = "<YOUR-EMAIL>"
    }
    
    resource "tfe_oauth_client" "test-oauth-client" {
      organization     = tfe_organization.test-org.id
      api_url          = "https://api.github.com"
      http_url         = "https://github.com"
      oauth_token      = "<YOUR-GITHUB-OAUTH-TOKEN>"
      service_provider = "github"
    }
    
    resource "tfe_workspace" "test-workspace" {
      name         = "test-workspace"
      organization = tfe_organization.test-org.id
      vcs_repo {
        identifier     = "<YOUR-GITHUB-WORKSPACE-IDENTIFIER>"
        oauth_token_id = tfe_oauth_client.test-oauth-client.oauth_token_id
      }
    }
  2. Run terraform version and make sure provider.tfe is 0.16.1
    Terraform v0.12.23
    + provider.tfe v0.16.1
    
    Your version of Terraform is out of date! The latest version
    is 0.12.24. You can update by downloading from https://www.terraform.io/downloads.html
    
  3. Run terraform apply to create a new organization, oauth_client, and workspace connected to a vcs_repo. This should succeed.
  4. Remove the vcs_repo from your config and run terraform plan
    provider "tfe" {
      hostname = "<YOUR-TFE-HOSTNAME>"
      version  = "0.16.1"
    }
    
    resource "tfe_organization" "test-org" {
      name  = "test-org"
      email = "<YOUR-EMAIL>"
    }
    
    resource "tfe_oauth_client" "test-oauth-client" {
      organization     = tfe_organization.test-org.id
      api_url          = "https://api.github.com"
      http_url         = "https://github.com"
      oauth_token      = "<YOUR-GITHUB-OAUTH-TOKEN>"
      service_provider = "github"
    }
    
    resource "tfe_workspace" "test-workspace" {
      name         = "test-workspace"
      organization = tfe_organization.test-org.id
    }
    This should result in output like the following, indicating that the vcs_repo, will be removed:
    Terraform will perform the following actions:
    
      # tfe_workspace.test-workspace will be updated in-place
      ~ resource "tfe_workspace" "test-workspace" {
            auto_apply            = false
            external_id           = "<YOUR-WORKSPACE-EXTERNAL-ID>"
            file_triggers_enabled = true
            id                    = "<YOUR-WORKSPACE-EXTERNAL-ID>"
            name                  = "test-workspace-vcs-repo"
            operations            = true
            organization          = "test-org-vcs-repo"
            queue_all_runs        = true
            terraform_version     = "0.12.24"
            trigger_prefixes      = []
    
          - vcs_repo {
              - identifier         = "<YOUR-GITHUB-WORKSPACE-IDENTIFIER>" -> null
              - ingress_submodules = false -> null
              - oauth_token_id     = "<YOUR-OAUTH-TOKEN-ID>" -> null
            }
        }
    
    Plan: 0 to add, 1 to change, 0 to destroy.
    
  5. Run terraform apply. This should succeed.
  6. Look in your terraform.tfstate file. You should see that the vcs_repo hasn't been removed. If you check the workspace Settings > Version Control settings in the UI, you should see that your workspace is still connected to VCS.
  7. Run terraform plan again. This should tell you that it is going to try to remove the vcs_repo again.

Before moving on to the next section:

  1. Run terraform destroy.
  2. Delete your .terraform directory.
  3. Create a local build of terraform-provider-tfe from this branch and copy it to your ~/.terraform.d/plugins directory.

After fix:

  1. Remove the provider version, add the vcs_repo config back in and run terraform init.
    provider "tfe" {
      hostname = "<YOUR-TFE-HOSTNAME>"
    }
    
    resource "tfe_organization" "test-org" {
      name  = "test-org"
      email = "<YOUR-EMAIL>"
    }
    
    resource "tfe_oauth_client" "test-oauth-client" {
      organization     = tfe_organization.test-org.id
      api_url          = "https://api.github.com"
      http_url         = "https://github.com"
      oauth_token      = "<YOUR-GITHUB-OAUTH-TOKEN>"
      service_provider = "github"
    }
    
    resource "tfe_workspace" "test-workspace" {
      name         = "test-workspace"
      organization = tfe_organization.test-org.id
      vcs_repo {
        identifier     = "<YOUR-GITHUB-WORKSPACE-IDENTIFIER>"
        oauth_token_id = tfe_oauth_client.test-oauth-client.oauth_token_id
      }
    }
  2. Run terraform version and make sure provider.tfe is unversioned.
    Terraform v0.12.23
    + provider.tfe (unversioned)
    
    Your version of Terraform is out of date! The latest version
    is 0.12.24. You can update by downloading from https://www.terraform.io/downloads.html
    
  3. Run terraform apply to create a new organization, oauth_client, and workspace connected to a vcs_repo. This should succeed.
  4. Remove the vcs_repo from your config and run terraform plan
    provider "tfe" {
      hostname = "<YOUR-TFE-HOSTNAME>"
    }
    
    resource "tfe_organization" "test-org" {
      name  = "test-org"
      email = "<YOUR-EMAIL>"
    }
    
    resource "tfe_oauth_client" "test-oauth-client" {
      organization     = tfe_organization.test-org.id
      api_url          = "https://api.github.com"
      http_url         = "https://github.com"
      oauth_token      = "<YOUR-GITHUB-OAUTH-TOKEN>"
      service_provider = "github"
    }
    
    resource "tfe_workspace" "test-workspace" {
      name         = "test-workspace"
      organization = tfe_organization.test-org.id
    }
    This should result in output like the following, indicating that the vcs_repo, will be removed:
    Terraform will perform the following actions:
    
      # tfe_workspace.test-workspace will be updated in-place
      ~ resource "tfe_workspace" "test-workspace" {
            auto_apply            = false
            external_id           = "<YOUR-WORKSPACE-EXTERNAL-ID>"
            file_triggers_enabled = true
            id                    = "<YOUR-WORKSPACE-EXTERNAL-ID>"
            name                  = "test-workspace-vcs-repo"
            operations            = true
            organization          = "test-org-vcs-repo"
            queue_all_runs        = true
            terraform_version     = "0.12.24"
            trigger_prefixes      = []
    
          - vcs_repo {
              - identifier         = "<YOUR-GITHUB-WORKSPACE-IDENTIFIER>" -> null
              - ingress_submodules = false -> null
              - oauth_token_id     = "<YOUR-OAUTH-TOKEN-ID>" -> null
            }
        }
    
    Plan: 0 to add, 1 to change, 0 to destroy.
    
  5. Run terraform apply. This should succeed.
  6. Look in your terraform.tfstate file. You should see that the vcs_repo has been set to []. If you check the workspace Settings > Version Control settings in the UI, you should see that your workspace is no longer connected to VCS.
  7. Run ``terraform plan` again. This should tell you that there are no changes.
    No changes. Infrastructure is up-to-date.
    
    This means that Terraform did not detect any differences between your
    configuration and real physical resources that exist. As a result, no
    actions need to be performed.
    

If you'd like to run the acceptance tests locally, you'll need to add two new environment variables, GITHUB_WORKSPACE_IDENTIFIER and GITHUB_WORKSPACE_BRANCH. Instructions for adding these variables and setting up the repository for them are in the README.

External links

Output from acceptance tests

$ envchain terraform-provider-tfe make testacc
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test $(go list ./... |grep -v 'vendor') -v  -timeout 15m
?       github.com/terraform-providers/terraform-provider-tfe   [no test files]
=== RUN   TestAccTFESSHKeyDataSource_basic
--- PASS: TestAccTFESSHKeyDataSource_basic (6.10s)
=== RUN   TestAccTFETeamAccessDataSource_basic
--- PASS: TestAccTFETeamAccessDataSource_basic (8.04s)
=== RUN   TestAccTFETeamDataSource_basic
--- PASS: TestAccTFETeamDataSource_basic (5.40s)
=== RUN   TestAccTFEWorkspaceIDsDataSource_basic
--- PASS: TestAccTFEWorkspaceIDsDataSource_basic (6.30s)
=== RUN   TestAccTFEWorkspaceIDsDataSource_wildcard
--- PASS: TestAccTFEWorkspaceIDsDataSource_wildcard (7.32s)
=== RUN   TestAccTFEWorkspaceDataSource_basic
--- PASS: TestAccTFEWorkspaceDataSource_basic (5.54s)
=== RUN   TestProvider
--- PASS: TestProvider (0.00s)
=== RUN   TestProvider_impl
--- PASS: TestProvider_impl (0.00s)
=== RUN   TestProvider_versionConstraints
--- PASS: TestProvider_versionConstraints (0.00s)
=== RUN   TestAccTFENotificationConfiguration_basic
--- PASS: TestAccTFENotificationConfiguration_basic (5.55s)
=== RUN   TestAccTFENotificationConfiguration_update
--- PASS: TestAccTFENotificationConfiguration_update (8.98s)
=== RUN   TestAccTFENotificationConfiguration_slackWithToken
--- PASS: TestAccTFENotificationConfiguration_slackWithToken (3.24s)
=== RUN   TestAccTFENotificationConfiguration_duplicateTriggers
--- PASS: TestAccTFENotificationConfiguration_duplicateTriggers (5.80s)
=== RUN   TestAccTFENotificationConfigurationImport
--- PASS: TestAccTFENotificationConfigurationImport (5.63s)
=== RUN   TestAccTFEOAuthClient_basic
--- PASS: TestAccTFEOAuthClient_basic (4.91s)
=== RUN   TestAccTFEOrganizationMembership_basic
--- PASS: TestAccTFEOrganizationMembership_basic (4.56s)
=== RUN   TestAccTFEOrganization_basic
--- PASS: TestAccTFEOrganization_basic (3.91s)
=== RUN   TestAccTFEOrganization_update
--- PASS: TestAccTFEOrganization_update (6.35s)
=== RUN   TestAccTFEOrganization_import
--- PASS: TestAccTFEOrganization_import (4.36s)
=== RUN   TestAccTFEOrganizationToken_basic
--- FAIL: TestAccTFEOrganizationToken_basic (2.83s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error checking if a token exists for organization tst-terraform: forbidden
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test359862513/main.tf line 7:
          (source code not available)
        
        
=== RUN   TestAccTFEOrganizationToken_existsWithoutForce
--- FAIL: TestAccTFEOrganizationToken_existsWithoutForce (2.75s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error checking if a token exists for organization tst-terraform: forbidden
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test339838027/main.tf line 7:
          (source code not available)
        
        
=== RUN   TestAccTFEOrganizationToken_existsWithForce
--- FAIL: TestAccTFEOrganizationToken_existsWithForce (2.73s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error checking if a token exists for organization tst-terraform: forbidden
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test155897013/main.tf line 7:
          (source code not available)
        
        
=== RUN   TestAccTFEOrganizationToken_import
--- FAIL: TestAccTFEOrganizationToken_import (2.56s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error checking if a token exists for organization tst-terraform: forbidden
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test440372911/main.tf line 7:
          (source code not available)
        
        
=== RUN   TestAccTFEPolicySetParameter_basic
--- PASS: TestAccTFEPolicySetParameter_basic (6.29s)
=== RUN   TestAccTFEPolicySetParameter_update
--- PASS: TestAccTFEPolicySetParameter_update (12.06s)
=== RUN   TestAccTFEPolicySetParameter_import
--- PASS: TestAccTFEPolicySetParameter_import (7.64s)
=== RUN   TestAccTFEPolicySet_basic
--- PASS: TestAccTFEPolicySet_basic (7.34s)
=== RUN   TestAccTFEPolicySet_update
--- PASS: TestAccTFEPolicySet_update (12.09s)
=== RUN   TestAccTFEPolicySet_updateEmpty
--- PASS: TestAccTFEPolicySet_updateEmpty (10.19s)
=== RUN   TestAccTFEPolicySet_updatePopulated
--- PASS: TestAccTFEPolicySet_updatePopulated (22.79s)
=== RUN   TestAccTFEPolicySet_updateToGlobal
--- PASS: TestAccTFEPolicySet_updateToGlobal (19.59s)
=== RUN   TestAccTFEPolicySet_updateToWorkspace
--- PASS: TestAccTFEPolicySet_updateToWorkspace (19.12s)
=== RUN   TestAccTFEPolicySet_vcs
--- PASS: TestAccTFEPolicySet_vcs (15.02s)
=== RUN   TestAccTFEPolicySetImport
--- PASS: TestAccTFEPolicySetImport (13.73s)
=== RUN   TestAccTFERunTrigger_basic
--- PASS: TestAccTFERunTrigger_basic (8.67s)
=== RUN   TestAccTFERunTriggerImport
--- PASS: TestAccTFERunTriggerImport (6.51s)
=== RUN   TestAccTFESentinelPolicy_basic
--- PASS: TestAccTFESentinelPolicy_basic (7.11s)
=== RUN   TestAccTFESentinelPolicy_update
--- PASS: TestAccTFESentinelPolicy_update (12.44s)
=== RUN   TestAccTFESentinelPolicy_import
--- PASS: TestAccTFESentinelPolicy_import (7.59s)
=== RUN   TestAccTFESSHKey_basic
--- PASS: TestAccTFESSHKey_basic (5.36s)
=== RUN   TestAccTFESSHKey_update
--- PASS: TestAccTFESSHKey_update (12.87s)
=== RUN   TestResourceTfeTeamAccessStateUpgradeV0
--- PASS: TestResourceTfeTeamAccessStateUpgradeV0 (0.29s)
=== RUN   TestAccTFETeamAccess_basic
--- PASS: TestAccTFETeamAccess_basic (10.20s)
=== RUN   TestAccTFETeamAccess_import
--- PASS: TestAccTFETeamAccess_import (10.26s)
=== RUN   TestPackTeamMemberID
--- PASS: TestPackTeamMemberID (0.00s)
=== RUN   TestUnpackTeamMemberID
--- PASS: TestUnpackTeamMemberID (0.00s)
=== RUN   TestAccTFETeamMember_basic
--- FAIL: TestAccTFETeamMember_basic (5.26s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error adding user "admin" to team team-3kYYpDdhTND3C7u1: bad request
        
        admin is not a member of the organization
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test251978536/main.tf line 12:
          (source code not available)
        
        
=== RUN   TestAccTFETeamMember_import
--- FAIL: TestAccTFETeamMember_import (5.33s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error adding user "admin" to team team-wuZ3ZHnug5eXZw4M: bad request
        
        admin is not a member of the organization
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test809076890/main.tf line 12:
          (source code not available)
        
        
=== RUN   TestAccTFETeamMembers_basic
--- FAIL: TestAccTFETeamMembers_basic (5.34s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error adding users to team team-rRJdhEhHoJjeX66m: bad request
        
        tfe-provider-user1 is not a member of the organization
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test285054172/main.tf line 12:
          (source code not available)
        
        
=== RUN   TestAccTFETeamMembers_update
--- FAIL: TestAccTFETeamMembers_update (6.09s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error adding users to team team-Db3cHLeamLvd9hrH: bad request
        
        tfe-provider-user1 is not a member of the organization
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test608064110/main.tf line 12:
          (source code not available)
        
        
=== RUN   TestAccTFETeamMembers_import
--- FAIL: TestAccTFETeamMembers_import (5.25s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error adding users to team team-qAK9t2MJwfw9XNBh: bad request
        
        tfe-provider-user1 is not a member of the organization
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test618820048/main.tf line 12:
          (source code not available)
        
        
=== RUN   TestPackTeamOrganizationMemberID
--- PASS: TestPackTeamOrganizationMemberID (0.00s)
=== RUN   TestUnpackTeamOrganizationMemberID
--- PASS: TestUnpackTeamOrganizationMemberID (0.00s)
=== RUN   TestAccTFETeamOrganizationMember_basic
--- PASS: TestAccTFETeamOrganizationMember_basic (8.79s)
=== RUN   TestAccTFETeamOrganizationMember_import
--- PASS: TestAccTFETeamOrganizationMember_import (9.14s)
=== RUN   TestAccTFETeam_basic
--- PASS: TestAccTFETeam_basic (6.74s)
=== RUN   TestAccTFETeam_import
--- PASS: TestAccTFETeam_import (8.72s)
=== RUN   TestAccTFETeamToken_basic
--- FAIL: TestAccTFETeamToken_basic (5.95s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error checking if a token exists for team team-BTtLFhLGLzGzMUHx: forbidden
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test268024364/main.tf line 12:
          (source code not available)
        
        
=== RUN   TestAccTFETeamToken_existsWithoutForce
--- FAIL: TestAccTFETeamToken_existsWithoutForce (5.88s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error checking if a token exists for team team-mgdrzQhs5TwX4c9j: forbidden
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test171544638/main.tf line 12:
          (source code not available)
        
        
=== RUN   TestAccTFETeamToken_existsWithForce
--- FAIL: TestAccTFETeamToken_existsWithForce (5.58s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error checking if a token exists for team team-6ApfUcjCsFAzx3S4: forbidden
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test410119712/main.tf line 12:
          (source code not available)
        
        
=== RUN   TestAccTFETeamToken_import
--- FAIL: TestAccTFETeamToken_import (5.64s)
    testing.go:569: Step 0 error: errors during apply:
        
        Error: Error checking if a token exists for team team-sKtJmG99C7JRovho: forbidden
        
          on /var/folders/jq/kcfxsqpd5hz_2cg_w9c_2hf40000gp/T/tf-test095134290/main.tf line 12:
          (source code not available)
        
        
=== RUN   TestResourceTfeVariableStateUpgradeV0
--- PASS: TestResourceTfeVariableStateUpgradeV0 (0.33s)
=== RUN   TestAccTFEVariable_basic
--- PASS: TestAccTFEVariable_basic (10.22s)
=== RUN   TestAccTFEVariable_update
--- PASS: TestAccTFEVariable_update (12.82s)
=== RUN   TestAccTFEVariable_import
--- PASS: TestAccTFEVariable_import (6.62s)
=== RUN   TestResourceTfeWorkspaceStateUpgradeV0
--- PASS: TestResourceTfeWorkspaceStateUpgradeV0 (0.00s)
=== RUN   TestAccTFEWorkspace_basic
--- PASS: TestAccTFEWorkspace_basic (4.68s)
=== RUN   TestAccTFEWorkspace_panic
--- PASS: TestAccTFEWorkspace_panic (4.74s)
=== RUN   TestAccTFEWorkspace_monorepo
--- PASS: TestAccTFEWorkspace_monorepo (4.79s)
=== RUN   TestAccTFEWorkspace_renamed
--- PASS: TestAccTFEWorkspace_renamed (6.57s)
=== RUN   TestAccTFEWorkspace_update
--- PASS: TestAccTFEWorkspace_update (7.62s)
=== RUN   TestAccTFEWorkspace_updateWorkingDirectory
--- PASS: TestAccTFEWorkspace_updateWorkingDirectory (10.55s)
=== RUN   TestAccTFEWorkspace_updateFileTriggers
--- PASS: TestAccTFEWorkspace_updateFileTriggers (7.69s)
=== RUN   TestAccTFEWorkspace_updateTriggerPrefixes
--- PASS: TestAccTFEWorkspace_updateTriggerPrefixes (7.61s)
=== RUN   TestAccTFEWorkspace_updateVCSRepo
--- PASS: TestAccTFEWorkspace_updateVCSRepo (23.90s)
=== RUN   TestAccTFEWorkspace_sshKey
--- PASS: TestAccTFEWorkspace_sshKey (11.92s)
=== RUN   TestAccTFEWorkspace_import
--- PASS: TestAccTFEWorkspace_import (4.93s)
=== RUN   TestFetchWorkspaceExternalID
=== RUN   TestFetchWorkspaceExternalID/non_exisiting_organization
=== RUN   TestFetchWorkspaceExternalID/non_exisiting_workspace
=== RUN   TestFetchWorkspaceExternalID/found_workspace
--- PASS: TestFetchWorkspaceExternalID (0.25s)
    --- PASS: TestFetchWorkspaceExternalID/non_exisiting_organization (0.00s)
    --- PASS: TestFetchWorkspaceExternalID/non_exisiting_workspace (0.00s)
    --- PASS: TestFetchWorkspaceExternalID/found_workspace (0.00s)
=== RUN   TestFetchWorkspaceHumanID
=== RUN   TestFetchWorkspaceHumanID/non_exisiting_workspace
=== RUN   TestFetchWorkspaceHumanID/found_workspace
--- PASS: TestFetchWorkspaceHumanID (0.00s)
    --- PASS: TestFetchWorkspaceHumanID/non_exisiting_workspace (0.00s)
    --- PASS: TestFetchWorkspaceHumanID/found_workspace (0.00s)
=== RUN   TestPackWorkspaceID
--- PASS: TestPackWorkspaceID (0.00s)
=== RUN   TestUnpackWorkspaceID
--- PASS: TestUnpackWorkspaceID (0.00s)
FAIL
FAIL    github.com/terraform-providers/terraform-provider-tfe/tfe       539.144s
?       github.com/terraform-providers/terraform-provider-tfe/version   [no test files]
make: *** [testacc] Error 1

@lafentres lafentres self-assigned this May 11, 2020
@ghost ghost added the size/L label May 11, 2020
@lafentres lafentres changed the title [DRAFT] Fix bug preventing removal of vcs_repo on workspaces Fix bug preventing removal of vcs_repo on workspaces May 11, 2020
@lafentres lafentres marked this pull request as ready for review May 11, 2020 17:23
@lafentres lafentres requested a review from a team May 11, 2020 17:23
Copy link

@stasquatch stasquatch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, tested locally just as expected.

@lafentres lafentres force-pushed the lafentres/remove-vcs-repo-bug branch from b160e05 to 3903912 Compare May 12, 2020 14:54
@lafentres lafentres merged commit 118f953 into master May 12, 2020
@lafentres lafentres deleted the lafentres/remove-vcs-repo-bug branch May 12, 2020 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Provider fails to remove VCS configuration
2 participants