When you abandon a stack, instead of exporting the stack domain project ID, it deletes it, which will make any adopted stack very broken if it contains any resources which have related keystone users.
-bash-4.2$ cat user.yaml
heat_template_version: 2013-05-23
resources:
user:
type: AWS::IAM::User
outputs:
user:
description: user
value: { get_resource : user }
-bash-4.2$ heat stack-create u11 -f user.yaml
+--------------------------------------+------------+--------------------+----------------------+
| id | stack_name | stack_status | creation_time |
+--------------------------------------+------------+--------------------+----------------------+
| 56248495-9917-42fe-9b43-18e2a0be11b2 | u11 | CREATE_IN_PROGRESS | 2014-04-01T11:38:45Z |
-bash-4.2$ openstack --os-token foobar --os-url=http://127.0.0.1:5000/v3 --os-identity-api-version=3 project list --domain heat | grep 56248495
| 011431bd9bb74020bd8a11ffec7a4ca4 | 048aeaa4c2714d268d669521d314c304-56248495-9917-42fe-9b43-18e2a0b |
-bash-4.2$ heat stack-abandon u11 | tee /tmp/u1.json{
"status": "COMPLETE",
"name": "u11",
"template": {
"outputs": {
"user": {
"description": "user",
"value": {
"get_resource": "user"
}
}
},
"heat_template_version": "2013-05-23",
"resources": {
"user": {
"type": "AWS::IAM::User"
}
}
},
"action": "CREATE",
"id": "56248495-9917-42fe-9b43-18e2a0be11b2",
"resources": {
"user": {
"status": "COMPLETE",
"name": "user",
"resource_data": {
"user_id": "431fe91a6e4c44ac9923f3f586375fe3"
},
"resource_id": "431fe91a6e4c44ac9923f3f586375fe3",
"action": "CREATE",
"type": "AWS::IAM::User",
"metadata": {}
}
}
}
-bash-4.2$ openstack --os-token foobar --os-url=http://127.0.0.1:5000/v3 --os-identity-api-version=3 project list --domain heat | grep 56248495
-bash-4.2$
It may be same issue with bug 1298888