{"action":"created","issue":{"url":"https://api.github.com/repos/hashicorp/terraform/issues/2359","labels_url":"https://api.github.com/repos/hashicorp/terraform/issues/2359/labels{/name}","comments_url":"https://api.github.com/repos/hashicorp/terraform/issues/2359/comments","events_url":"https://api.github.com/repos/hashicorp/terraform/issues/2359/events","html_url":"https://github.com/hashicorp/terraform/issues/2359","id":88548414,"number":2359,"title":"Unexpected cycle error on destroy (no cycle present)","user":{"login":"payneio","id":1074367,"avatar_url":"https://avatars.githubusercontent.com/u/1074367?v=3","gravatar_id":"","url":"https://api.github.com/users/payneio","html_url":"https://github.com/payneio","followers_url":"https://api.github.com/users/payneio/followers","following_url":"https://api.github.com/users/payneio/following{/other_user}","gists_url":"https://api.github.com/users/payneio/gists{/gist_id}","starred_url":"https://api.github.com/users/payneio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/payneio/subscriptions","organizations_url":"https://api.github.com/users/payneio/orgs","repos_url":"https://api.github.com/users/payneio/repos","events_url":"https://api.github.com/users/payneio/events{/privacy}","received_events_url":"https://api.github.com/users/payneio/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hashicorp/terraform/labels/bug","name":"bug","color":"f7c6c7"},{"url":"https://api.github.com/repos/hashicorp/terraform/labels/core","name":"core","color":"cccccc"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":21,"created_at":"2015-06-15T21:43:18Z","updated_at":"2015-10-05T15:18:39Z","closed_at":null,"body":"I have what appears to be a fairly simple infrastructure plan. `terraform graph -draw-cycles` results in:\r\n![image](https://cloud.githubusercontent.com/assets/1074367/8171396/805856f6-136c-11e5-8971-8b939e013649.png)\r\n\r\nAs can be seen... there don't appear to be any cycles.\r\n\r\nYet, running `terraform destroy` results in:\r\n\r\n`* Cycle: template_file.follower-cloud-config (destroy), template_file.follower-cloud-config, aws_security_group.follower_services (destroy), aws_security_group.follower_services, aws_launch_configuration.follower, aws_autoscaling_group.follower, aws_launch_configuration.follower (destroy), template_file.control-cloud-config (destroy), template_file.control-cloud-config, aws_security_group.control_services (destroy), aws_security_group.control_services, aws_launch_configuration.control, aws_autoscaling_group.control, aws_launch_configuration.control (destroy), aws_security_group.cluster_services (destroy), aws_security_group.cluster_services`\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/hashicorp/terraform/issues/comments/145566661","html_url":"https://github.com/hashicorp/terraform/issues/2359#issuecomment-145566661","issue_url":"https://api.github.com/repos/hashicorp/terraform/issues/2359","id":145566661,"user":{"login":"timbunce","id":62403,"avatar_url":"https://avatars.githubusercontent.com/u/62403?v=3","gravatar_id":"","url":"https://api.github.com/users/timbunce","html_url":"https://github.com/timbunce","followers_url":"https://api.github.com/users/timbunce/followers","following_url":"https://api.github.com/users/timbunce/following{/other_user}","gists_url":"https://api.github.com/users/timbunce/gists{/gist_id}","starred_url":"https://api.github.com/users/timbunce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timbunce/subscriptions","organizations_url":"https://api.github.com/users/timbunce/orgs","repos_url":"https://api.github.com/users/timbunce/repos","events_url":"https://api.github.com/users/timbunce/events{/privacy}","received_events_url":"https://api.github.com/users/timbunce/received_events","type":"User","site_admin":false},"created_at":"2015-10-05T15:18:39Z","updated_at":"2015-10-05T15:18:39Z","body":"_Copying this comment here from #2948 as that's closed._\r\n\r\n> for any resource with create_before_destroy that also depends on another resource, that [depended-on resource] must also have create_before_destroy\r\n\r\nBut _why_? Sure seems like a miss-feature to me, though I'm probably being dumb since I'm new to all this. I'd appreciate it if someone could explain why this is so.\r\n\r\nI can see that it makes sense in cases where the depended-on resource can only be associated with a single other resource, in which case it would naturally need to be dis-associated (or destroyed/recreated) before being used by the new resource. But that's now the case for aws_security_group, for example.\r\n\r\nI'm also unclear about what `create_before_destroy` has do do with `terraform destroy`.\r\n\r\n> I've recently update the Configuring Resources documentation to explain this\r\n\r\nPerhaps I'm missing it but the linked-to docs don't explain _why_ this is so.\r\n\r\nLooking at some other issues that relate to this problem, e.g. #3238, I see it referred to as a \"known issue that we plan to address in the near future\". Is there an open issue for the core problem that the other issues could refer to?"}}