After playing around for a while with my openstack deployment I discovered that rabbitmq was not working properly. I received error messages that the socket was not open.
I confirmed this with the command
netstat -tln | grep 5672
The command lonely showed it was listening on IPv6.
I configured the /etc/rabbitmq/rabbitmq-env.conf file to explicitly listen on the interfaces on the API network.
After that most worked again. However heat still showed some issue. The log also reported some error messages in connections. After examining I concluded that heat was not able to connect to the rabbitmq server. After examining the configuration file I discover that entire configuration was missing. I added the transport_url to the controller and everything start working again.
The thing that came to my mind is how it Heat was able to work in the first place. The reason for that is per default it will connect to the localhost. Because both rabbitmq and heat are on the same host this will work. But how was it able to authenticate? After checking the rabbitmq users with:
It displayed the guest user as admin. So the default user was used in the configuration file. I deleted the guest user on rabbitmq for security reasons.