c0b3d73189
Adding a constraints middleware that allows different constraints for a Swift-on-File storage policy. Currently, Swift allows only one set of object naming and metadata rules per cluster. As new storage policies are implemented, it is possible that different storage back-ends have different set of rules on how objects should be created for that specific storage system. Swift-on-File has different rules as objects name are mapped to a POSIX filesystem directory structure. For example: no names with double slashes or ending with slashes are allowed. At first a solution was proposed to include a generic patch in the upstream swift code, but after discussing with the Swift community it became clear that it would be better to have a global set of constraints that covers the whole cluster and if a specific storage policy has specific constraints than it should have its own middleware. Link to patch for reference: https://review.openstack.org/#/c/113325/ Change-Id: I323ead5d98bf5c087930ccf446d3e8d83075e584 Signed-off-by: Thiago da Silva <thiago@redhat.com>