
This commit implements the revision rollback API, allowing users to rollback to a previous revision, whereby a new revision is created. An exception (400 Bad Request) is raised if the revision being rolled back to is identical to the latest revision or if no changes exist between the latest revision and the one being rolled back to. Included in this commit: - API endpoint for revision rollback. - Back-end logic for rolling back to a previous revision. The associated documents are also re-recreated. The revision_id assigned to each document depends on whether it has changed between the latest revision and the one being rolled back to: if changed, the new revision_id is assigned, else the original one, to maintain the correct revision history. - Associated unit tests. - Unskip all associated functional tests. Change-Id: I5c120a92e106544f7f8a4266fc386fb60622d6b3
Deckhand
A foundational python REST YAML processing engine providing data and secrets management to other platform services.
To generate a configuration file automatically:
$ tox -e genconfig
Resulting deckhand.conf.sample file is output to :path:etc/deckhand/deckhand.conf.sample
Copy the config file to a directory discoverably by
oslo.conf
:
$ cp etc/deckhand/deckhand.conf.sample ~/deckhand.conf
To setup an in-memory database for testing:
[database]
#
# From oslo.db
#
# The SQLAlchemy connection string to use to connect to the database.
# (string value)
connection = sqlite:///:memory:
To run locally in a development environment:
$ sudo pip install uwsgi
$ virtualenv -p python3 /var/tmp/deckhand
$ . /var/tmp/deckhand/bin/activate
$ sudo pip install .
$ sudo python setup.py install
$ uwsgi --http :9000 -w deckhand.cmd --callable deckhand_callable --enable-threads -L
Description
Languages
Python
97.5%
Shell
1.9%
Makefile
0.5%