I was able to duplicate this, it seems like there may be an issue with the heat devstack plugin, when running devstack (stable/ocata) it originally checks out stable/ocata heat, but once it hits the devstack plugin it will checkout master heat, and then hit:
2018-02-04 15:56:12.694 | from heat.policies import actions
2018-02-04 15:56:12.694 | File "/home/stack/heat/heat/policies/actions.py", line 20, in <module>
2018-02-04 15:56:12.694 | policy.DocumentedRuleDefault(
2018-02-04 15:56:12.694 | AttributeError: 'module' object has no attribute 'DocumentedRuleDefault'
I was able to duplicate this, it seems like there may be an issue with the heat devstack plugin, when running devstack (stable/ocata) it originally checks out stable/ocata heat, but once it hits the devstack plugin it will checkout master heat, and then hit:
2018-02-04 15:56:12.694 | from heat.policies import actions stack/heat/ heat/policies/ actions. py", line 20, in <module> DocumentedRuleD efault( Default'
2018-02-04 15:56:12.694 | File "/home/
2018-02-04 15:56:12.694 | policy.
2018-02-04 15:56:12.694 | AttributeError: 'module' object has no attribute 'DocumentedRule
https:/ /github. com/openstack/ heat/blob/ master/ heat/policies/ actions. py#L20
Looks like the policies modules were added after ocata:
https:/ /github. com/openstack/ heat/tree/ stable/ ocata/heat/ policies/ actions. py