Comment 2 for bug 1408001

Revision history for this message
Pavlo Shchelokovskyy (pshchelo) wrote :

That's because the shell is using the SwiftService object [1], that indeed does recursive delete by itself [2]. In Heat we use Connection object as client to perform all the operations [3], and this one is not supporting recursive deletes.

[1] https://github.com/openstack/python-swiftclient/blob/master/swiftclient/shell.py#L100
[2] https://github.com/openstack/python-swiftclient/blob/master/swiftclient/service.py#L1820
[3] https://github.com/openstack/heat/blob/master/heat/engine/clients/os/swift.py#L53

regardless of this, the exceptions raised by the Python API are still pretty useless in explaining the reason of the failure.