Commit Graph

62 Commits

Author SHA1 Message Date
anc
6164fa246d Generic means for persisting system metadata.
Middleware or core features may need to store metadata
against accounts or containers. This patch adds a
generic mechanism for system metadata to be persisted
in backend databases, without polluting the user
metadata namespace, by using the reserved header
namespace x-<server_type>-sysmeta-*.

Modifications are firstly that backend servers persist
system metadata headers alongside user metadata and
other system state.

For accounts and containers, system metadata in PUT
and POST requests is treated in a similar way to user
metadata. System metadata is not yet supported for
object requests.

Secondly, changes in the proxy controllers ensure that
headers in the system metadata namespace will pass through
in requests to backend servers.

Thirdly, system metadata returned from backend servers
in GET or HEAD responses is added to the cached info
dict, which middleware can access.

Finally, a gatekeeper middleware module is provided
which filters all system metadata headers from requests
and responses by removing headers with names starting
x-account-sysmeta-, x-container-sysmeta-. The gatekeeper
also removes headers starting x-object-sysmeta- in
anticipation of future support for system metadata being
set for objects. This prevents clients from writing or
reading system metadata.

The required_filters list in swift/proxy/server.py is
modified to include the gatekeeper middleware so that
if the gatekeeper has not been configured in the
pipeline then it will be automatically inserted close
to the start of the pipeline.

blueprint cluster-federation

Change-Id: I80b8b14243cc59505f8c584920f8f527646b5f45
2014-01-06 22:29:37 +00:00
Jenkins
5bec0852c0 Merge "Allow access to the in-memory object server" 2013-12-07 08:51:33 +00:00
Peter Portante
1ccb5c61f4 Allow access to the in-memory object server
This will allow functional tests to be used against it, and can then
be used for the storage-policy work as an example diskfile
implementation associated with a storage policy.

Change-Id: I47a88e70cee99225779baaed379b0c5d4c73611a
2013-12-05 10:21:42 -05:00
Chmouel Boudjnah
63d91386f9 Remove swift-bench
swift-bench has moved to :

http://github.com/openstack/swift-bench

DocImpact

Change-Id: Id09765f53d1e493fb0eeae0dba57879ba9dd0ade
2013-12-02 12:46:41 -08:00
Monty Taylor
4332bff3f5 Migrate to pbr for build
pbr is the libification of what was openstack.common.setup. If provides
the build information in a delcarative form, instead of as executable python
code, which works around the chicken and egg problem of needing setup
libraries present to run setup, but needing to run setup to tell if you
need setup libraries.

One of the features that comes along with this is versioning based on
git tags. If the current revision is a signed git tag, then that is the
version of the package. If it is not, the version is equal to the most
recent git tag, plus a commit count, plus a git sha (similar to git
describe, but scrubbed for python version rules compliance)

pbr updates are also part of the upcoming automation around ensuring
global requirements stay in sync.

Closes-Bug: #1179007
Change-Id: Ia473960be7e8aa44f09d48cea72ed3c8845f82fa
2013-08-14 19:10:07 -03:00
Ukov Dmitry
02beacf0da Change setup.cfg style.
Change-Id: I466470237ddd317740eb99bd55af7e7a50270ae3
Fixes: bug #1163258
2013-04-02 15:55:56 +04:00
Monty Taylor
e7180a5876 Align tox.ini and fix coverage jobs in jenkins.
The jenkins coverage jobs expect there to be a .coverage file, so deleting
it is a bad idea. Also, coverage erase will do that for us.
While we're in there, update tox.ini and setup.cfg to the latest.

Change-Id: Icd0a8fc66a5146e0d94f62a9f65a4536981d2916
2012-06-08 20:05:14 -04:00
Maru Newby
e6ea310751 Add support for venv-based test run with tox.
* Adds tox config
   - based on the config from python-quantumclient and updated for
     test, pep8 and coverage execution as per nova's run_tests.sh.
 * Adds nosetests defaults in setup.cfg
 * Adds runtime dependencies in tools/pip-requires
   - dependencies were gathered by referencing the packages used in
     creation of a Swift All In One.  Versions were determined by
     checking the swift-core/trunk ppa or, failing that, the version
     available in lucid.
 * Adds test dependencies in tools/test-requires
 * Updates swift/common/middleware/formpost.py for pep8 compliance
 * Adds instructions for executing the tests with Tox to the
   developer_guidelines
 * Adds instructions for installing openstack.nose_plugin to
   developer_saio
 * Fixes bug 909177

Change-Id: I5407924d2181e9ab335aaf76bf30c8d40deccbb4
2012-03-07 22:44:34 -08:00
Michael Barton
9fcb3ad4f6 add pybabel setup.py commands and initial .pot 2011-01-27 00:01:24 +00:00
Monty Taylor
659382e466 New upstream release. 2010-07-19 11:25:18 -05:00
Monty Taylor
c2f9d1e560 Import upstream version 1.0.1 2010-07-19 11:22:40 -05:00
Monty Taylor
81e79a87c4 Added support for building docs from setup.py. 2010-07-14 09:46:14 -05:00